python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
在使用Matplotlib画图过程中,有些内容必须鼠标点击或者划过才可以显示,这个问题可以依赖于annotate(s='str' ,xy=(x,y) ,xytext=(l1,l2) ,..)这个函数,其中s 为注释文本内容 , xy 为被注释的坐标点, xytext 为注释文字的坐标位置,其他参数可自行百度哈。当鼠标滑过时候,将其设置为可见,默认情况下为隐藏。下面是一个小例子:
# -*- coding: UTF-8 -*-
import matplotlib.pyplot as plt
fig = 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底图中鼠标滑过显示隐藏内容的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- 处理Selenium3+python3定位鼠标悬停才显示的元素
- Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
- Python使用pyautogui模块实现自动化鼠标和键盘操作示例
- python3.6+opencv3.4实现鼠标交互查看图片像素
- Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
- Python使用matplotlib绘制三维图形示例
- Python数据分析matplotlib设置多个子图的间距方法
- Python使用matplotlib和pandas实现的画图操作【经典示例】
- python matplotlib绘图,修改坐标轴刻度为文字的实例
- 对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
- Python matplotlib 画图窗口显示到gui或者控制台的实例
- Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
相关文章
Python常用字符串替换函数strip、replace及sub用法示例
这篇文章主要介绍了Python常用字符串替换函数strip、replace及sub用法,结合实例形式分析了Python针对字符串替换的常用函数strip、replace及sub功能及简单使用技巧,需要的朋友可以参考下2018-05-05
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
这篇文章主要介绍了Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法,需要的朋友可以参考下2016-04-04


最新评论