如何暂停 pylab 图形直到按下某个键或单击鼠标? (Matplotlib)
matplotlibpythondata visualization
要暂停 pylab 图形直到按下鼠标键或单击鼠标,我们可以使用"button_press_event" 键事件。
步骤
- 设置图形大小并调整子图之间和周围的填充。
- 设置"TkAgg"背景。
- 打开交互模式。
- 创建新图形或激活现有图形。
- 创建变量,pause=False。
- 每当"button_press_event"时,暂停图形。
- 将函数绑定到事件。
- 创建data, x 和 y 数据点使用 numpy。
- 迭代 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()
输出
您将看到正弦波和余弦波交替显示为黄色和红色,直到您单击鼠标按钮。单击任一鼠标按钮后,图形将暂停。