我在wxpython GUI中使用matplotlib。简而言之,我绘制了一组数据。然后,我单击一个数据点(使用位于以下位置的数据光标:
Is there a matplotlib equivalent of MATLAB's datacursormode?
或者
Pop up annotations on matplotlib within wxPython
第二个环节是我的实际执行。我将datacursor类与其他类分离。我想知道的是,如何通过单击事件按钮删除注释?例如,我有一个更新散点图的事件按钮(使用plot_handle.set_数据,而不是清除图形)。但是,无论点是否在那里,注释都会精确地保留在原来的位置。如何删除它?
谢谢!
大多数matplotlib对象都有一个
remove()
函数(我认为它继承自Artist
)。只需在要移除的对象上调用它。编辑:
如果你有
Python没有“private”属性的概念,因此您可以直接访问对象内部并对注释调用remove。见tutorial on classes for more details。
它的反面是,现在你有一个物体是一个奇怪的状态。如果你有任何其他的参考,他们可能会表现不好。如果你想让
DataCursor
对象在你身边,你可以使用它的set_*
函数修改annotation
对象,或者改变它的可见性来暂时隐藏它(doc)你需要像艺术家一样添加它才能像艺术家一样删除它
相关问题 更多 >
编程相关推荐