我正在尝试使用spanselector后将其关闭。当我转到matplotlib文档时,它说的是:

Set the visible attribute to False if you want to turn off the functionality of the span selector

但是我不知道如何像文档说明一样关闭跨度选择器的功能。

这是我的代码。

def disconnect_span(self):
  if self.selection_mode == None:   #This is a variable that i use to call this method
    self.SpanSelector(self.axes, self.onselect, "horizontal", useblit = True,
      rectprops = dict(alpha= 0.5, facecolor = "blue"))
    self.figure_canvas.draw_idle()

 else:
   #Here is where i want to put the disconnect condition

最佳答案

为了切换SpanSelector的可见性,您将需要使用set_visible()方法。

import matplotlib.pyplot as plt
from matplotlib.widgets import SpanSelector

ax = plt.subplot(111)
ax.plot([1,2], [3,4])

def onselect(vmin, vmax):
    print vmin, vmax

span = SpanSelector(ax, onselect, 'horizontal')

span.set_visible(False)


在这里,我是在对象创建后立即创建的,但是只要您具有set_visible()对象,就可以从任何地方调用SpanSelector以禁用选择器。

关于python - 在matplotlib中关闭Spanselector,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35896795/

10-11 21:18