原文: https://pythonspot.com/matplotlib-update-plot/

更新 matplotlib 绘图非常简单。 创建数据,绘图并循环更新。

启用交互模式至关重要:plt.ion()。 这控制是否通过每个draw()命令重绘图形。 如果它为False(默认值),则该图不会自动更新。

更新绘图示例

复制下面的代码以测试交互式绘图。

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. x = np.linspace(0, 10*np.pi, 100)
  4. y = np.sin(x)
  5. plt.ion()
  6. fig = plt.figure()
  7. ax = fig.add_subplot(111)
  8. line1, = ax.plot(x, y, 'b-')
  9. for phase in np.linspace(0, 10*np.pi, 100):
  10. line1.set_ydata(np.sin(0.5 * x + phase))
  11. fig.canvas.draw()

Matplotlib 更新绘图 - 图1

Capture of a frame of the program above

说明

我们使用以下方法创建要绘制的数据:

  1. x = np.linspace(0, 10*np.pi, 100)
  2. y = np.sin(x)

使用以下命令打开交互模式:

  1. plt.ion()

配置图("b-"表示蓝线):

  1. fig = plt.figure()
  2. ax = fig.add_subplot(111)
  3. line1, = ax.plot(x, y, 'b-')

最后循环更新:

  1. for phase in np.linspace(0, 10*np.pi, 100):
  2. line1.set_ydata(np.sin(0.5 * x + phase))
  3. fig.canvas.draw()

下载示例