首頁 >後端開發 >Python教學 >如何使用新資料有效更新 Matplotlib 圖?

如何使用新資料有效更新 Matplotlib 圖?

Linda Hamilton
Linda Hamilton原創
2024-12-05 18:38:12287瀏覽

How Can I Efficiently Update Matplotlib Plots with New Data?

在 Matplotlib 中更新繪圖

在 Matplotlib 中使用互動式繪圖時,通常需要使用新資料更新繪圖。這可以透過兩種方式實現:

選項 1:清除並重新繪製

此方法涉及清除現有繪圖並從頭開始重新繪製。為此:

  1. 呼叫 graph1.clear() 和 graph2.clear() 刪除目前資料。
  2. 像以前一樣重新計算並繪製新資料。

這種方法雖然簡單,但也是最慢的。

選項2:更新資料

為了避免重新繪製整個圖表,您可以直接更新現有繪圖物件的資料。這要快得多,但需要:

  1. 修改程式碼以將繪圖邏輯與資料擷取邏輯分開。
  2. 確保資料形狀保持不變。
  3. 如果資料範圍超出,則手動重設 x 和 y 軸限制變更。

範例:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 6*np.pi, 100)
y = np.sin(x)

fig = plt.figure()
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'r-')

for phase in np.linspace(0, 10*np.pi, 500):
    line1.set_ydata(np.sin(x + phase))
    fig.canvas.draw()
    fig.canvas.flush_events()

以上是如何使用新資料有效更新 Matplotlib 圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn