我想使用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"

以上可能吗?

最佳答案

SpanSelector(..., button=1)

将是鼠标左键的范围选择器,
SpanSelector(..., button=3)

将是鼠标右键的跨度选择器。

关于python - 如何在SpanSelector中区分左右按钮?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55542329/

10-11 00:37