2017-04-13 10 views
0

私はMatplotlibを初めて使用しています。私のコードに従えば、データ、タイトル、xlabel、ylabelを同時に更新したいと思っていました。しかし、タイトルとラベルは更新されていませんが、データはありません。誰かが私に解決策を与えることができますか?それは私をたくさん助けてくれるでしょう。ありがとう。タイトル、xlabel、ylabelをアニメーション化して更新するには?

import numpy as np 
import matplotlib.pyplot as plt 
from matplotlib.animation import FuncAnimation 

def updata(frame_number): 
    current_index = frame_number % 3 
    a = [[1,2,3],[4,5,6],[7,8,9]] 
    idata['position'][:,0] = np.asarray(a[current_index]) 
    idata['position'][:,1] = np.asarray(a[current_index]) 
    scat.set_offsets(idata['position']) 
    ax.set_xlabel('The Intensity of Image1') 
    ax.set_ylabel('The Intensity of Image2') 
    ax.set_title("For Dataset %d" % current_index) 


fig = plt.figure(figsize=(5,5)) 
ax = fig.add_axes([0,0,1,1]) 
idata = np.zeros(3,dtype=[('position',float,2)]) 
ax.set_title(label='lets begin',fontdict = {'fontsize':12},loc='center') 
scat = ax.scatter(idata['position'][:,0],idata['position'][:,1],s=10,alpha=0.3,edgecolors='none') 
animation = FuncAnimation(fig,updata,interval=2000) 
plt.show() 
+0

すでにラベルとタイトルを更新示しコード:ここで

は、完全な実行コードです。したがって、あなたが達成したいことは不明です。 [質問]を読んで、明確な問題の説明を入力してください(達成したいこと、試したこと、望む結果が得られない程度まで)。 – ImportanceOfBeingErnest

+0

コードを実行すると、ラベルとタイトルが更新されないことがわかります。あなたのアドバイスをありがとう、私はあなたのコメントに私の問題のベースを編集します。 @ImportanceOfBeingErnest – helloswift123

答えて

2

コードを実行すると、空のウィンドウが表示されます。理由は、軸が完全な図形(fig.add_axes([0,0,1,1]))に及ぶからです。タイトルとラベルを表示するには、軸を図形より小さくする必要があります(例:

ax = fig.add_subplot(111) 

また、軸のスケールは定義されていないため、アニメーションは軸の範囲外で行われます。これを防ぐにはax.set_xlimax.set_ylimを使用できます。

import numpy as np 
import matplotlib.pyplot as plt 
from matplotlib.animation import FuncAnimation 

def updata(frame_number): 
    current_index = frame_number % 3 
    a = [[1,2,3],[4,5,6],[7,8,9]] 
    idata['position'][:,0] = np.asarray(a[current_index]) 
    idata['position'][:,1] = np.asarray(a[current_index]) 
    scat.set_offsets(idata['position']) 
    ax.set_xlabel('The Intensity of Image1') 
    ax.set_ylabel('The Intensity of Image2') 
    ax.set_title("For Dataset %d" % current_index) 


fig = plt.figure(figsize=(5,5)) 
ax = fig.add_subplot(111) 
idata = np.zeros(3,dtype=[('position',float,2)]) 
ax.set_title(label='lets begin',fontdict = {'fontsize':12},loc='center') 
scat = ax.scatter(idata['position'][:,0],idata['position'][:,1], 
        s=25,alpha=0.9,edgecolors='none') 
ax.set_xlim(0,10) 
ax.set_ylim(0,10) 
animation = FuncAnimation(fig,updata,frames=50,interval=600) 
plt.show() 

enter image description here

+0

これは素晴らしいです!!!ありがとう非常に多く。私はドキュメントを探すのに多くの時間を費やし、問題を解決しようとしました。しかし、私はmatplotlibのウェブサイトで何も得ておらず、初心者にとってはそれほど親切ではないと思います。私の個人的な意見。もう一度、あなたのソリューションに感謝します。 – helloswift123

関連する問題