簡體   English   中英

完全更新matplotlib圖(不追加數據)

[英]Completely update matplotlib figure (not appending data)

編輯:我通過完全省略 matplotlib animation 並在初始化數字之前添加plt.ion()來使其工作。

我有一個可以將數據發送到我的 PC 的測量設備,我可以使用 Python 讀取這些數據。 它每秒發送 100 個數據點。 每次收到這100分,都可以通過調用function來獲得。 我想更新圖形,再次從 X=0 開始。 數據包含 X 和 Y 數據。 在其他 SO 線程中,我發現matplotlib.animation.FuncAnimation可以有效地更新圖表,但我只找到了將數據附加到圖表的示例。
目前,我的圖表正在重繪,但它只是繪制新點而沒有清除之前的圖表,而且速度非常慢(我無法在繪制時拖動 plot window)。 清晰的 function 只給我留下了灰色的 window。 有誰知道這個問題足夠快的解決方法? 非常感謝!

我目前的實現:

def plot():
    freq = np.linspace(f_start, f_stop, points, endpoint=True)

    def update(frame):
        #for i in range (iterations - 1):
        print(frame)
        complex_data = vna.data(0)
        plotFigure(figInitProperties, freq, Rect2Pol(complex_data))
        time.sleep(2) # Wait for all points to be scanned

    ani = anim.FuncAnimation(figInitProperties[2], func=update, frames=(10), repeat=False)
    plt.show()
plot()

figInitProperties返回圖形的fig (大小、標簽、軸、刻度等)。

您可以在更新 function 的開頭使用ax.clear()plt.cla()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM