Matplotlib 更新绘图
更新 matplotlib 图很简单。在循环中创建数据、绘图和更新。设置交互模式至关重要:plt.ion()
。这控制是否每次 draw()
命令重绘图形。如果为 False
(默认值),则图形不会自动更新。
Matplotlib 更新绘图示例
复制下面的代码以测试交互式绘图。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10*np.pi, 100)
y = np.sin(x)
plt.ion()
fig = plt.figure()
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'b-')
for phase in np.linspace(0, 10*np.pi, 100):
line1.set_ydata(np.sin(0.5 * x + phase))
fig.canvas.draw()
![Matplotlib 更新画图](/img/Tutorial/Matplotlib/Matplotlib draw canvas.png)
解释
我们创建要使用的绘图数据:
x = np.linspace(0, 10*np.pi, 100)
y = np.sin(x)
使用以下命令打开交互模式:
plt.ion()
配置图形(b-
表示蓝线):
fig = plt.figure()
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'b-')
最后在循环中更新:
for phase in np.linspace(0, 10*np.pi, 100):
line1.set_ydata(np.sin(0.5 * x + phase))
fig.canvas.draw()