首頁 >後端開發 >Python教學 >如何在不重新繪圖的情況下有效率地更新 Matplotlib 繪圖?

如何在不重新繪圖的情況下有效率地更新 Matplotlib 繪圖?

DDD
DDD原創
2024-12-03 05:05:13812瀏覽

How Can I Efficiently Update Matplotlib Plots Without Replotting?

高效更新Matplotlib 繪圖

要更新Matplotlib 中的繪圖同時避免重複繪圖,請考慮以下選項:

1。使用 Clear 方法進行清除和重新繪圖

在重繪繪圖之前呼叫 graph1.clear() 和 graph2.clear()。這確保了一個乾淨的記錄,但可能會很慢。

2.更新繪圖物件的數據

更新現有繪圖物件的數據,而不是完全重新繪圖。這更快,但要求資料形狀保持不變。可能需要手動調整軸限制。

示範第二個選項:

import matplotlib.pyplot as plt
import numpy as np

# Define initial data
x = np.linspace(0, 6*np.pi, 100)
y = np.sin(x)

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

# Iterate through phases and update data
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