matplotlibに.png画像のシーケンスをプロットしたいと思います。目的は、ムービーの効果をシミュレートするためにそれらを素早くプロットすることですが、実際に.aviファイルを作成したり、matplotlibの数値を保存してPython以外の順番でそれらを表示しないようにしたいというさらなる理由があります。matplotlibプロットの時間順シーケンスをアニメーション化する方法
私は特に、画像ファイルをPythonのforループ内で順番に表示しようとしています。 matplotlibを正しくインポートしたと仮定して、自分の関数 'new_image()'と 'new_rect()'を持っています。show()関数のGUIメインループへの呼び出しをブロックする効果があるため、
for index in index_list:
img = new_image(index)
rect = new_rect(index)
plt.imshow(img)
plt.gca().add_patch(rect)
plt.show()
#I also tried pausing briefly and then closing, but this doesn't
#get executed due to the GUI mainloop from show()
time.sleep(0.25)
plt.close()
上記のコードは最初の画像を表示するように動作しますが、その後、プログラムはちょうどハング、私は手動で結果figureウィンドウを閉じるために待ちます。私がそれを閉じると、プログラムはちょうどハングアップし、新しい画像データで再プロットしません。私は何をしなければならないのですか?また、plt.show()コマンドをplt.draw()コマンドで置き換えてから、forループの外にplt.show()を追加しようとしました。これは何も表示せず、ハングアップします。 http://matplotlib.sourceforge.net/examples/animation/simple_anim_tkagg.htmlに基づい
私はmatplotlibのは本当にこれを念頭において設計されていない疑いがあります。しかし、いずれにしても、matplotlib特有のメーリングリストでこれについて質問するより多くの情報を得る可能性があります。 –