我正在尝试使用 ginput 收集一系列鼠标单击位置,每次通过每次单击绘制一条垂直线来更新绘图:
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(10)
y=x**2
fig,ax=plt.subplots()
times=[]
ax.plot(x,y)
while True:
pts=plt.ginput(1)
time=pts[0][0]
times.append(time)
ax.axvline(x=time)
# click on right side to escape
if (time>8.5):
break
print ("final=",times)
这可以正常工作,因为它正确存储了所有点击位置,但它仅在每秒钟点击一次时绘制垂直线,我不明白为什么会发生这种情况。
我在用着
达尔文上的 Python 3.9.2(默认,2021 年 2 月 24 日,13:30:36)[Clang 12.0.0 (clang-1200.0.32.29)]
和 matplotlib 版本 3.3.4