如何在按下按键或点击鼠标后暂停 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()
输出
您将看到正弦和余弦波交替显示为黄色和红色,直到您点击鼠标按钮。点击任意鼠标按钮后,图像将暂停。
广告