在matplotlib中,可以使用FuncAnimation函數來創建動態折線圖。FuncAnimation函數接收一個更新函數作為參數,并將其周期性地調用以更新折線圖。更新函數可以通過修改數據源或圖形對象的屬性來實現動態效果。以下是一個基本的使用示例:
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import numpy as np
# 創建一個空的圖形對象
fig, ax = plt.subplots()
# 定義數據源(這里使用隨機數)
x_data = np.arange(0, 10, 0.1)
y_data = np.sin(x_data)
# 初始化折線圖對象
line, = ax.plot(x_data, y_data)
# 更新函數,每次調用會更新折線圖的數據
def update(frame):
# 修改數據源
y_data = np.sin(x_data + frame * 0.1)
# 更新折線圖的數據
line.set_ydata(y_data)
return line,
# 創建動態折線圖
ani = FuncAnimation(fig, update, frames=100, interval=50, blit=True)
# 顯示動態折線圖
plt.show()
在上面的示例中,update函數通過修改y_data的值來更新折線圖的數據。FuncAnimation函數會周期性地調用update函數,每次調用都會更新折線圖,并將更新后的圖形對象返回。最后,通過調用plt.show()來顯示動態折線圖。