我是matplotlib的新手。我有一個x-y座標列表,我在python中更新並希望使用matplotlib的pyplot進行動畫處理。我想提前指定x範圍和y範圍。下面是我當前的代碼:使用matplotlib和pyplot進行2D座標的簡單動畫
import matplotlib.pyplot as plt
x=[1,2,3,4]
y=[5,6,7,8]
for t in range(100):
#lists x and y get updated here
#...
plt.plot(x, y, marker='o', linestyle='None')
plt.show()
正如你所看到的,我用plt.plot()
和plt.show()
我的迭代循環結束僅繪製最終座標。但我想把這個步驟放在的循環中,並在每次迭代時繪製一個指定的暫停時間,以便在循環運行時有一個動畫。
只是在循環內部移動該語句或調整該語句不起作用。 雖然我想保持它非常簡單,並且不想使用matplotlib.animation
。有沒有使用更多的模塊和庫的簡單方法(只有像plt.pause()
,也許只是更多),讓我做我想做的事情?
我在網上查了很多地方,我面對的大多數方法存在的問題是,我在Windows上使用python(x,y)(這是python版本2.7),以及使用過於複雜的模塊和庫的動畫在這裏崩潰。
但是,我能夠在matplotlib網站上運行簡單的東西,如this example,這與我想要的接近,但並不完全。所以也許最好的做法是修改這個例子,適用於我的2D數據(這個例子是針對一維行)。但任何其他建議都是值得歡迎的。
+1。這工作。我只是試着將它調整到我的最終計劃中,看看結果如何。 –
這對我的程序非常有用。公認。謝謝! –
使用'ax.clear()'可能會很方便。那麼你可以簡單地繪製一個新的圖形,你不需要區分第一次和以後的運行。另外,'plt.pause()'對我造成了一個錯誤,我使用'fig.canvas.start_event_loop()'來代替。 – Scipio