如何在按下按键或点击鼠标后暂停 pylab 图像?(Matplotlib)


要暂停 pylab 图像直到按下按键或点击鼠标,我们可以使用 **"button_press_event"** 键事件。

步骤

  • 设置图像大小并调整子图之间和周围的填充。
  • 设置 **"TkAgg"** 背景。
  • 打开交互模式。
  • 创建一个新图像或激活现有图像。
  • 创建一个变量,**pause=False。**
  • 每当发生 **"button_press_event"** 事件时,暂停图像。
  • 将函数绑定到事件。
  • 使用 numpy 创建 **data**、**x** 和 **y** 数据点。
  • 迭代一个 **True** 循环来更改绘图线和颜色。
  • 要显示图像,请使用 **show()** 方法。

示例

import matplotlib
from matplotlib import pyplot as plt
import numpy as np

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

matplotlib.use("TkAgg")

plt.ion()

fig = plt.figure()

pause = False

def onclick(event):
   global pause
   pause = not pause

fig.canvas.mpl_connect('button_press_event', onclick)

data = np.linspace(-10, 10, 100)

x = np.sin(data)
y = np.cos(data)

flag = 1

while True:
   if not pause:
      if flag == 1:
         fig.clear()
         plt.plot(data, y, color='red')
         flag = 0
      else:
         fig.clear()
         plt.plot(data, x, color='yellow')
         flag = 1
   fig.canvas.get_tk_widget().update()

输出

您将看到正弦和余弦波交替显示为黄色和红色,直到您点击鼠标按钮。点击任意鼠标按钮后,图像将暂停。

更新于:2021年6月18日

777 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告