Python matplotlib绘图时使用鼠标滚轮放大/缩小图像
更新时间:2022年05月09日 12:44:09 作者:井盖上的青蛙
Matplotlib是Python程序员可用的事实上的绘图库,虽然它比交互式绘图库在图形上更简单,但它仍然可以一个强大的工具,下面这篇文章主要给大家介绍了关于Python matplotlib绘图时使用鼠标滚轮放大/缩小图像的相关资料,需要的朋友可以参考下
思路:
- 使用fig.canvas.mpl_connect()函数来绑定相关fig的滚轮事件
- 利用事件event的inaxes属性获取当前鼠标所在坐标系ax
- 使用get_xlim()函数获取坐标系ax的x/y轴坐标刻度范围
- 使用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放大缩小图像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
matplotlib之Font family [‘sans-serif‘] not&nbs
本文主要介绍了matplotlib之Font family [‘sans-serif‘] not found的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-03-03Python Requests模拟登录实现图书馆座位自动预约
这篇文章主要为大家详细介绍了Python Requests的模拟登录,Python实现图书馆座位自动预约,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-04-04Python多线程编程(七):使用Condition实现复杂同步
这篇文章主要介绍了Python多线程编程(七):使用Condition实现复杂同步,本文讲解通过很著名的“生产者-消费者”模型来来演示在Python中使用Condition实现复杂同步,需要的朋友可以参考下2015-04-04
最新评论