2016-10-07 7 views
0

私はフロベニウスノルムを計算するいくつかの配列を持っています。次に、これらの計算されたノルムと対応する配列のインデックスのグラフを単純に描きます。問題は、プロットウィンドウが飛び出すときにグラフが表示されないことです。しかし、私のプロットのスタイリングを追加すると、グラフが表示されます。私も保存図を使用しようとしましたが、保存された図はグラフが表示されていないウィンドウを表示します。私が試した最後のことは、計算されたノルムの配列をプリントアウトし、それをnumpy配列として定義し、それを対応するインデックスの配列に対して描画することでした。だから、私の質問は、私がパイロットプロット関数でグラフを描くことができない理由です。pyplotプロットはグラフのないウィンドウを表示します

plt.plot(numVec,FrobNorm) 
plt.show() 

enter image description here:私はそのインデックス配列対グラフをプロットすると

FrobNorm=[[ -3.27415727e-01 2.83421670e+00 -2.59669415e+00 -3.83713705e+00 
    -1.11064367e+00 -9.83842479e+00 9.64202990e+00 -3.66747069e+00 
    9.49022713e+00 -3.58659316e+00 4.28355911e+00 -4.58104577e+00 
    -4.26765959e+00 -6.54306600e-01 4.31816208e+00 1.08043604e+01 
    3.36647201e+01 -9.47369163e+00 1.41183067e+01 1.75464238e+00 
    6.84732164e+00 -1.13034176e+01 -1.83641151e+01 -6.07528575e+01 
    -2.11765783e+01 -3.46253416e+01 -3.50911001e+01 -1.78855570e+01 
    2.00630855e+01 1.90068192e+01 3.33858144e-01 -1.75526132e+01 
    -1.34355117e+01 -8.39318642e+00 -1.96338714e+01 -5.80396650e+01 
    -1.52712614e+01 -7.95109842e+00 -1.14383666e+01 -4.29497153e+00 
    -1.97874688e+01 -1.32635215e+01 3.10595354e+00 3.30488466e-01 
    1.24957569e+00 2.32608957e+01 -5.12962561e-01 3.23879652e+00 
    1.80536181e+01 1.64091731e+01 2.46815567e+01 2.01190758e+01 
    2.25210602e+01 1.92789009e+01 4.32809711e+01 1.24060317e+02 
    5.11700004e+00 2.56249967e+00 3.27317719e+01 3.01294858e+01 
    2.96865339e+01 2.01666494e+01 -1.75473758e+00 -9.73091969e+00 
    -1.51961382e+01 8.11369952e+00 -1.74469244e+01 5.94097932e+00 
    -5.43142631e+00 -4.40072150e+00 -1.51168549e+01 -5.58957352e+00 
    -2.34872324e+04 9.19836593e+02 6.76833045e+03 7.59304882e+03 
    1.77573454e+03 9.71109062e+02 1.63742243e+03 3.70221807e+02 
    1.01405251e+03 4.06811235e+02 1.45049823e+02 1.43212472e+02 
    8.88928849e+01 3.10859242e+02 4.79435420e+01 6.86347162e+01 
    2.14372829e+01 5.43555421e+01 1.39810283e+01 9.51714116e+00 
    4.98563968e+01 4.02058896e+01 1.61359027e+02 7.91939932e+00 
    1.73949723e+01 5.19412047e+01 1.89645369e+01 2.25526021e+01 
    1.36734416e+01 3.13646035e+01 2.02633125e+01 5.16259077e+01 
    7.34024536e+01 2.01376746e+01 8.50796026e+00 1.76689397e+01 
    5.32159344e+01 1.75182361e+01 2.38797434e+01 2.21623152e+01 
    2.15496171e+01 1.56287225e+01 7.12160153e+01 1.20319418e+01 
    -2.14376043e-01 -2.16844613e+00 7.31383577e+00 9.60358643e+00 
    1.53346738e+01 -1.75376507e+01 -4.23607412e+01 -1.34004685e+01 
    -5.74096286e+01 -1.88056408e+01 1.24411854e+00 -2.20228598e+00 
    -1.44691587e+01 -4.02906454e+00 -7.06859151e+00 -9.28329296e-01 
    3.97785623e+00 -1.17290825e+01 5.30538782e+00 -1.30573008e+00 
    2.57332085e-01 -5.03652416e+00 -8.01889243e+00 -4.21210481e+00 
    7.97575488e+00 1.33063141e+01 1.94559898e+01 1.30643051e+01 
    1.39963350e+00 1.31746057e+01 4.87291463e-01 7.62221548e+00 
    1.90832548e+00 -9.17783469e+00 -6.74190235e+00 -5.18322407e+00 
    2.08694160e+00 -8.32251763e+00 -3.41052019e+01 -4.07077413e+00 
    -5.35572194e+00 -1.00300755e+01 -1.85180723e+00 -2.85137343e+00 
    -2.92087149e+00 5.82955457e+00 4.00575111e+00 1.17418771e+01 
    2.13152055e+01 6.74130687e+00 2.89890044e+00 9.56403257e+00 
    9.49920338e+00 -4.90698086e+00 -4.31125932e-01 7.43422603e+00 
    -1.36522668e+00 6.71239870e+00 2.97819245e+01 2.70232682e+00 
    1.43525496e+01 7.69774164e-01 6.11231825e+00 1.48208154e+00 
    -2.23136432e+00 4.61075719e+00 -3.59137897e+01 -1.62455157e+01 
    -6.07367620e+01 -2.62556836e+00 -1.64717047e-01 -1.33588774e+01 
    -8.23873116e+00 -4.69412397e+00 -8.64679071e+00 -7.05601974e+00 
    9.42962930e+00 -1.08717341e+01 -5.27810809e+01 -8.69225245e+00 
    -4.99076301e+00]] 

、私は唯一の無グラフでウィンドウを取得: これは私が算出した規範の配列をプリントアウトしたときに、私が得るものです

しかし、私はプロットのためのスタイリングを使用する場合、それは(私は興味がない散布図のようなもの)のグラフを示しています

plt.plot(numVec,FrobNorm,'ro') 
plt.show() 

enter image description here

ここで、計算されたノルムの配列を出力します。カンマは、それを分離し、そしてその要素とnumpyの配列を定義し、単にこのnumpyの配列のグラフとインデックスの対応する配列を描き、私が手:

enter image description here

私が最初に同じものを取得したいです場所。私の質問は、計算された規範をプロットするとグラフが得られない理由です。として、私は驚くべきことに私が図のスタイリングを変えることによってしか得ることができる何かである、第二の図のような散布図を探していないと言った。

+1

なぜForbNormにダブルブラケットを使用していますか? – obchardon

+0

私は二重括弧を使用していません。これは印刷時のように見えます。 – Miranda

+0

'numVec'の形は何ですか? – Paul

答えて

0

私はそれを持っていると思います。私は圧搾を使用し、それは動作します。だから、プロットラインは次のように変更する必要があります。

plt.plot(np.squeeze(NumVec),np.squeeze(FrobNorm)) 

私はまだ理由を理解していないが、これは私が推測するものです。私は何とかプロデュースされた配列の形式は、プロット関数が配列のすべての要素にアクセスすることなく値の範囲しか見ることができないということでした。スクイズ機能を使用しないと、プロットなしのウィンドウが表示されますが、x軸とy軸の範囲は、2番目と3番目の図にプロットを描くことができるときと同じです。これは単なる推測です、私は誰かが本当の理由で私を助けてくれることを願っています。すべてのフィードバックありがとうございます!

+0

2番目の図のような散布図を得るために 'ro'を使用すると、同じ配列でプロット関数がうまく動作するのも不思議でした。 – Miranda

関連する問題