0
我正在讀取來自COM端口的傳感器信號,並且希望顯示活動的值。我設法顯示圖形,並且它也得到了更新,但圖形爲每個新點都改變了顏色。我想問題是,不僅點更新,而且整個圖。我的代碼如下所示:Python:實時繪圖更新整行而不是一個點
import pylab as plt
buttonclick():
plt.figure()
ln, = plt.plot([])
plt.ion()
plt.show()
plotdata =[]
while self.Run:
plotdata.append(getsensordata()) #getsensordata returns a float
plt.plot(plotdata)
plt.draw()
time.sleep(1000)
我還嘗試過使用ln.set_data的另一個選項。有了這個選項,似乎只有新的點被更新,但我不能確認,因爲我有問題,軸不能自動縮放。我改變了while循環:
i=0
while self.Run:
plotdata.append(getsensordata())
xdata.append(i)
ln.set_data(xdata,plotdata)
plt.autoscale(True,True,True)
plt.draw()
i+=1
我看到Can you plot live data in matplotlib?但這種解決方案並不在我的情況,不知道爲什麼在所有的工作。另外blib的其他解決方案似乎在我看來有點超過頂端,因爲我似乎非常接近使用這種簡單解決方案的解決方案。