我正在创建一个可视化PyQt5应用程序,该应用程序创建并显示Matplotlib图。我希望能够使用鼠标在图中选择一些点。我为此使用了RectangleSelector
小部件。问题是,释放鼠标后,绘制的矩形仍保留在绘图上。使用interactive=False
使矩形不可见,但是当我尝试更改要在绘图上显示的数据时,矩形仍然存在并中断了绘图自动缩放。这是interactive=True
的示例:
有什么方法可以从情节中删除RectangleSelector
?还是至少让ax.autoscale()
忽略了它?
答案 0 :(得分:0)
您可以使用“退出”键清除当前形状。可以在参数state_modifier_keys
中重新定义。有关详细信息,请参见here。
答案 1 :(得分:0)
另一种做法是:
rectangle = RectangleSelector(...)
for artist in rectangle :
artist.set_visible(False)
rectangle.update()
这是按下退出按钮时完成的操作,它将从图形中删除当前的矩形选择器。
答案 2 :(得分:0)
不确定您是否已解决此问题。 我用这个
def line_select_callback(self, eclick, erelease):
# At the beginning
toggle_selector.RS.set_active(False)
toggle_selector.RS.to_draw.set_visible(False)
toggle_selector.RS.update()
#....line_select_callback code....
# Last line of method/function
toggle_selector.RS.set_active(True)