在 Matplotlib 图中前后滚动

matplotlibpythondata visualization

要通过 Matplotlib 图前后滚动(左右键),我们可以采取以下步骤 −

  • 设置图形大小并调整子图之间和周围的填充。
  • 使用 numpy 创建 curr_posy
  • 使用 figure() 方法创建新图形或激活现有图形。
  • 将函数绑定到事件,即 key_press_event。
  • '~.axes.Axes' 添加到图形作为子图布置的一部分。
  • 绘制 curr_posy 数据点使用 plot() 方法。
  • 如果可以使用左右箭头键,则曲线可以相应地向右和向左移动。
  • 要显示图形,请使用 show() 方法。

示例

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

curr_pos = np.linspace(-10, 10, 100)
y = np.sin(curr_pos)

def key_event(e):
   global curr_pos
   如果 e.key == "right":
      curr_pos = curr_pos + 1
   否则:
      curr_pos = curr_pos - 1
   ax.cla()
   ax.plot(curr_pos, np.sin(curr_pos))
   fig.canvas.draw()
fig = plt.figure()
fig.canvas.mpl_connect('key_press_event', key_event)

ax = fig.add_subplot(111)
ax.plot(curr_pos, y)

plt.show()

输出

现在,按下板上的左箭头或右箭头键,在图中向后或向前滚动。


相关文章