Ipythonノートブック(1つのセル内)でループ内のプロットを動的に更新する方法
環境:Python 2.7、matplotlib 1.3、IPython notebook 1.1、linux、chrome。コードは、1つの単一の入力セルにあります。--pylab=inline IPythonノートブックとパンダを使用してストリームを消費し、5秒ごとに動的にプロットを更新したいと思います。 printステートメントを使用してデータをテキスト形式で印刷すると、完全に正常に機能します。出力セルはデータを印刷し続け、新しい行を追加します。しかし、データをプロットしようとすると(その後ループで更新しようとすると)、出力セルにプロットが表示されません。ただし、ループを削除した場合は、1回だけプロットします。正常に動作します。 次に、簡単なテストをいくつか行いました。 i = pd.date_range('2013-1-1',periods=100,freq='s') while True: plot(pd.Series(data=np.random.randn(100), index=i)) #pd.Series(data=np.random.randn(100), index=i).plot() also tried this one time.sleep(5) プロセスを手動で中断するまで(ctrl + m + i)、出力には何も表示されません。そして、それを中断した後、プロットは複数の重なり合った線として正しく表示されます。しかし、私が本当に望んでいるのは、表示されて5秒ごとに更新されるプロットです(または、plot()関数が呼び出されたときはいつでも、上で述べた印刷ステートメントの出力と同様に、うまく機能します)。セルが完全に完了した後に最終的なチャートを表示するだけでは、私は望みません。 それぞれの後にdraw()関数を明示的に追加することなども試みましたplot()。どれも機能しません。IPython Notebookの1つのセル内でfor / whileループによってプロットを動的に更新する方法を知りましょう。