python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码

 更新时间:2019年07月31日 10:56:17   作者:lisa丶  
这篇文章主要介绍了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底图中鼠标滑过显示隐藏内容的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • pytorch报错问题:ValueError: num_samples should be a positive integer value, but got num_samples=0

    pytorch报错问题:ValueError: num_samples should be

    这篇文章主要介绍了pytorch报错问题:ValueError: num_samples should be a positive integer value, but got num_samples=0的解决方案,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python爬豆瓣电影实例

    Python爬豆瓣电影实例

    本篇文章给大家通过Python爬豆瓣电影实例对Python爬虫更深入的讲解,有兴趣的学习下。
    2018-02-02
  • python 爬虫如何正确的使用cookie

    python 爬虫如何正确的使用cookie

    这篇文章主要介绍了python 爬虫如何使用cookie,帮助大家绕过网站设置的登录规则以及登录时的验证码识别,完成自身的爬取需求,感兴趣的朋友可以了解下
    2020-10-10
  • python2.7读取文件夹下所有文件名称及内容的方法

    python2.7读取文件夹下所有文件名称及内容的方法

    python,本身来说是一门高级编程语言,python它入门简单,有基础的学起来很快就能有简单的应用,但是在非常高的抽象计算中,高级的python程序设计也是非常难学的。接下来给大家介绍python2.7读取文件夹下所有文件名称及内容的方法,一起看看吧
    2018-02-02
  • Python使用20行代码实现微信聊天机器人

    Python使用20行代码实现微信聊天机器人

    这篇文章主要介绍了Python使用20行代码实现微信聊天机器人,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python实现switch/case语句

    Python实现switch/case语句

    与Java、C\C++等语言不同,Python中是不提供switch/case语句的,这一点让我感觉到很奇怪。我们可以通过如下几种方法来实现switch/case语句
    2021-08-08
  • 查看Python安装路径几种方法小结

    查看Python安装路径几种方法小结

    这篇文章主要介绍了查看Python安装路径几种方法小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Django 权限认证(根据不同的用户,设置不同的显示和访问权限)

    Django 权限认证(根据不同的用户,设置不同的显示和访问权限)

    这篇文章主要介绍了Django 权限认证(根据不同的用户,设置不同的显示和访问权限),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • pytorch中关于distributedsampler函数的使用

    pytorch中关于distributedsampler函数的使用

    这篇文章主要介绍了pytorch中关于distributedsampler函数的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python爬虫进阶Scrapy框架精文讲解

    Python爬虫进阶Scrapy框架精文讲解

    这篇文章主要为大家介绍了Python爬虫进阶中Scrapy框架精细讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10

最新评论