Python matplotlib绘图时使用鼠标滚轮放大/缩小图像

 更新时间:2022年05月09日 12:44:09   作者:井盖上的青蛙  
Matplotlib是Python程序员可用的事实上的绘图库,虽然它比交互式绘图库在图形上更简单,但它仍然可以一个强大的工具,下面这篇文章主要给大家介绍了关于Python matplotlib绘图时使用鼠标滚轮放大/缩小图像的相关资料,需要的朋友可以参考下

思路:

  1. 使用fig.canvas.mpl_connect()函数来绑定相关fig的滚轮事件
  2. 利用事件event的inaxes属性获取当前鼠标所在坐标系ax
  3. 使用get_xlim()函数获取坐标系ax的x/y轴坐标刻度范围
  4. 使用set()函数对坐标系ax进行放大/缩小

示例:

import matplotlib.pyplot as plt
import numpy as np
 
fig = plt.figure()
def call_back(event):
    axtemp=event.inaxes
    x_min, x_max = axtemp.get_xlim()
    fanwei = (x_max - x_min) / 10
    if event.button == 'up':
        axtemp.set(xlim=(x_min + fanwei, x_max - fanwei))
        print('up')
    elif event.button == 'down':
        axtemp.set(xlim=(x_min - fanwei, x_max + fanwei))
        print('down')
    fig.canvas.draw_idle()  # 绘图动作实时反映在图像上
fig.canvas.mpl_connect('scroll_event', call_back)
fig.canvas.mpl_connect('button_press_event', call_back)
 
ax1 = plt.subplot(3,1,1)#截取幕布的一部分
ax1.xaxis.set_major_formatter(plt.NullFormatter())  # 取消x轴坐标
x = np.linspace(-5, 5, 10)
y = x ** 2 + 1
plt.ylabel('first')
plt.plot(x, y)
plt.grid()
ax2 = plt.subplot(3,1,2)
ax2.xaxis.set_major_formatter(plt.NullFormatter())  # 取消x轴坐标
y1=-x**2+1
plt.plot(x, y1)
 
ax3 = plt.subplot(3,1,3)
y3=-x*2+1
plt.plot(x, y3)
 
plt.show()

输出效果:

PS:在相应坐标系内滚动鼠标滚轮即可放大/缩小x轴。

总结

到此这篇关于Python matplotlib绘图时使用鼠标滚轮放大/缩小图像的文章就介绍到这了,更多相关Python matplotlib放大缩小图像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pyqt5与matplotlib的完美结合实例

    pyqt5与matplotlib的完美结合实例

    今天小编就为大家分享一篇pyqt5与matplotlib的完美结合实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • matplotlib之Font family [‘sans-serif‘] not found的问题解决

    matplotlib之Font family [‘sans-serif‘] not&nbs

    本文主要介绍了matplotlib之Font family [‘sans-serif‘] not found的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python Requests模拟登录实现图书馆座位自动预约

    Python Requests模拟登录实现图书馆座位自动预约

    这篇文章主要为大家详细介绍了Python Requests的模拟登录,Python实现图书馆座位自动预约,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 使用python实现定时报天气的示例代码

    使用python实现定时报天气的示例代码

    本文主要介绍了使用python实现定时报天气,只需要让爬虫程序每天自动为你发送,下面就详细的介绍一下如何使用,感兴趣的可以了解一下
    2021-11-11
  • Python多线程编程(七):使用Condition实现复杂同步

    Python多线程编程(七):使用Condition实现复杂同步

    这篇文章主要介绍了Python多线程编程(七):使用Condition实现复杂同步,本文讲解通过很著名的“生产者-消费者”模型来来演示在Python中使用Condition实现复杂同步,需要的朋友可以参考下
    2015-04-04
  • python计算两个地址之间的距离方法

    python计算两个地址之间的距离方法

    今天小编就为大家分享一篇python计算两个地址之间的距离方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python2.7安装图文教程

    python2.7安装图文教程

    这篇文章主要为大家详细介绍了python2.7安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python实现将元组中的元素作为参数传入函数的操作

    Python实现将元组中的元素作为参数传入函数的操作

    这篇文章主要介绍了Python实现将元组中的元素作为参数传入函数的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • pandas按某列降序的实现

    pandas按某列降序的实现

    本文主要介绍了pandas按某列降序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • python return逻辑判断表达式实现解析

    python return逻辑判断表达式实现解析

    这篇文章主要介绍了python return逻辑判断表达式实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12

最新评论