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()