【发布时间】:2023-12-22 15:03:01
【问题描述】:
我想使用SpanSelector 在图中选择两个区间。为了保存区间的不同极值,我想使用一个标志,具体取决于我是使用右按钮还是左按钮选择区间(这样我就可以区分两个想要的区间)。
以上可以吗?
已编辑:
更具体地说:我希望一旦显示该图,SpanSelector 如果通过左键完成,则绘制红色区域,如果通过右键完成,则绘制蓝色区域。
例子:
下面的代码让用户以交互方式选择一个间隔,然后打印这个间隔
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.widgets as mwidgets
fig = plt.figure()
ax = plt.axes()
x = np.arange(0,2*np.pi)
y = np.sin(x)
ax.plot(x,y)
def onselect(vmin, vmax):
print(vmin, vmax)
span = mwidgets.SpanSelector(ax, onselect, 'horizontal')
plt.show()
我想修改上面的代码,如果间隔是由左按钮绘制的,那么它会打印"LEFT: vimin, vmax",如果间隔是由右键绘制的,那么它会打印"RIGHT: vmin, vmax"。
以上可以吗?
【问题讨论】:
标签: python matplotlib widget mouse interactive