断开/重新连接后,Matplotlib小部件Cursor不再出现

时间:2016-05-24 13:09:20

标签: python matplotlib widget cursor

在我的应用程序中,我希望能够在图中禁用并重新启用Cursor小部件。不幸的是,如果之前已经禁用了Cursor,我似乎无法重新出现。我已经尝试了Cursor小部件的几种方法(set_active,disconnect_events ...),但没有成功。请考虑以下事项:

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

def onevent(event):
    print "you clicked!"

plt.ion()
fig=plt.figure()
ax=fig.add_subplot(111)
c=Cursor(ax) # the cursor appears on my figure. Fine.

c.connect_event('button_press_event',onevent) # the cursor is connected. Fine
c.disconnect_events() # the cursor is disconnected, and has disappeared. Fine
c.connect_event('button_press_event',onevent) # the cursor is connected again (fine), but HAS NOT REAPPEARED (not fine!)

你可以重现这种行为吗? 我使用qt,tk或wx后端获得此行为。 感谢。

1 个答案:

答案 0 :(得分:0)

当我再次需要它时,我设法通过断开Cursor(c.disconnect_event())并重新创建光标(c = Cursor(ax))来做我想要的事情...... 方法set_active(False | True)确实使光标消失并重新出现,但不会将其与“事件”断开。