是否有与 MATLAB 的 datacursormode 等效的 matplotlib?
在 MATLAB 中,当用户将鼠标悬停在图形上时,可以使用 datacursormode 向图形添加注释。 matplotlib中有这样的东西吗?或者我需要使用 matplotlib.text.Annotation 编写自己的事件?
In MATLAB, one can use datacursormode
to add annotation to a graph when user mouses over. Is there such thing in matplotlib? Or I need to write my own event using matplotlib.text.Annotation
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
后期编辑/无耻插件:现在可以使用(具有更多功能)
mpldatacursor
。调用 mpldatacursor.datacursor() 将为所有 matplotlib 艺术家启用它(包括对图像中 z 值的基本支持等)。据我所知,还没有一个已经实现,但编写类似的东西并不难:
因为看起来至少有几个人正在使用这个,所以我在下面添加了一个更新版本。
新版本具有更简单的用法和更多的文档(即至少一点点)。
基本上你会像这样使用它:
主要区别是 a) 不需要手动调用
line.set_picker(...)
,b) 不需要手动调用Fig.canvas.mpl_connect
,以及 c) 此版本处理多个轴和多个图形。Late Edit / Shameless Plug: This is now available (with much more functionality) as
mpldatacursor
. Callingmpldatacursor.datacursor()
will enable it for all matplotlib artists (including basic support for z-values in images, etc).As far as I know, there isn't one already implemented, but it's not too hard to write something similar:
As it seems like at least a few people are using this, I've added an updated version below.
The new version has a simpler usage and a lot more documentation (i.e. a tiny bit, at least).
Basically you'd use it similar to this:
The main differences are that a) there's no need to manually call
line.set_picker(...)
, b) there's no need to manually callfig.canvas.mpl_connect
, and c) this version handles multiple axes and multiple figures.