时间:2021-05-22
在使用Matplotlib画图过程中,有些内容必须鼠标点击或者划过才可以显示,这个问题可以依赖于annotate(s='str' ,xy=(x,y) ,xytext=(l1,l2) ,..)这个函数,其中s 为注释文本内容 , xy 为被注释的坐标点, xytext 为注释文字的坐标位置,其他参数可自行百度哈。当鼠标滑过时候,将其设置为可见,默认情况下为隐藏。下面是一个小例子:
# -*- coding: UTF-8 -*-import matplotlib.pyplot as pltfig = plt.figure()po_annotation = []for i in range(0, 10): x = i y = x**2 point, = plt.plot(x, y, 'o') annotation = plt.annotate(('x='+str(x), 'y='+str(y)), xy=(x+0.1, y+0.1), xycoords='data', xytext=(x+0.7, y+0.7), textcoords='data', horizontalalignment="left", arrowprops=dict(arrowstyle="simple",connectionstyle="arc3,rad=-0.1"), bbox=dict(boxstyle="round", facecolor="w",edgecolor="0.5", alpha=0.9) ) annotation.set_visible(False) po_annotation.append([point, annotation])def on_move(event): visibility_changed = False for point, annotation in po_annotation: should_be_visible = (point.contains(event)[0] == True) # print(point.contains(event)[0]) if should_be_visible != annotation.get_visible(): visibility_changed = True annotation.set_visible(should_be_visible) if visibility_changed: plt.draw()on_move_id = fig.canvas.mpl_connect('motion_notify_event', on_move)plt.show()主要思路为:
•创建[点,注释]对的列表,默认情况下,注释不可见
•每次检测到鼠标移动时,都会注册一个函数“on_move”
•on_move函数遍历每个点和注释,如果鼠标现在位于其中一个点上,则使其关联的注释可见,如果不是,则使其不可见。
运行出来的效果为: 当鼠标滑过时,可以显示其相应坐标:
总结
以上所述是小编给大家介绍的python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python+matplotlib进行鼠标交互,实现动态标注,数据可视化显示,鼠标划过时画一条竖线并使用标签来显示当前值。Python3.6.5,代码示例:im
本文实例讲述了jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果。分享给大家供大家参考,具体如下:这里演示jQuery实现鼠标移动到链接上,滑动展开/隐藏
本文所示代码主要是通过Python+matplotlib实现作图,并且在图中添加表格的功能,具体如下。代码importmatplotlib.pyplotaspl
本文实例为大家分享了python使用Matplotlib绘制分段函数的具体代码,供大家参考,具体内容如下环境Python3MacOS代码#coding:utf-
本文实例讲述了jquery实现鼠标滑过小图时显示大图的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:li{list-style:none;fl