Pythonmatplotlib绘图,使⽤⿏标滚轮放⼤缩⼩图像思路:
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 = _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)
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()matplotlib中subplot
输出效果:
PS:在相应坐标系内滚动⿏标滚轮即可放⼤/缩⼩x轴。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论