如何暂停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()
输出
您将看到黄色和红色交替显示正弦和余弦波形,直到您单击鼠标按钮。 单击鼠标按钮后,图形将暂停。