matplotlib绘图过程中用鼠标调整图像大小怎样实现
在实际应用中,我们有时候会遇到“matplotlib绘图过程中用鼠标调整图像大小怎样实现”这样的问题,我们该怎样来处理呢?下文给大家介绍了解决方法,希望这篇“matplotlib绘图过程中用鼠标调整图像大小怎样实现”文章能帮助大家解决问题。
思路:
使用fig.canvas.mpl_connect()函数来绑定相关fig的滚轮事件
利用事件event的inaxes属性获取当前鼠标所在坐标系ax
使用get_xlim()函数获取坐标系ax的x/y轴坐标刻度范围
使用set()函数对坐标系ax进行放大/缩小
“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轴。
总结
“matplotlib绘图过程中用鼠标调整图像大小怎样实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业技术相关的知识可以关注博信网站,小编每天都会为大家更新不同的知识。
版权声明
本文仅代表作者观点,不代表博信信息网立场。