我想显示在首次显示时放大的图像,但是仍然可以使用图形工具栏中的交互式“重置原始视图”按钮将图像放大到最大比例。裁剪是完全不能接受的。使用plt.axis([x0, x1, y0, y1])的确允许平移,但交互式窗口不会重置为完整比例。
有没有一种方法可以触发图缩放或以其他方式解决此问题?
一种方法是:
fig, ax = plt.subplots(1, 1)
ax.imshow(np.random.rand(20, 20)
fig.canvas.toolbar.push_current() # save the 'un zoomed' view to stack
ax.set_xlim([5, 10])
ax.set_ylim([5, 10])
fig.canvas.toolbar.push_current() # save 'zoomed' view to stack
Run Code Online (Sandbox Code Playgroud)
我不确定如何push_current考虑私有性,正如我在评论中所说,这是重构为1.5(https://github.com/matplotlib/matplotlib/wiki/Mep22)。
请参阅https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/backend_bases.py#L2600了解如何实现平移/缩放。没有'zoom_window'命令的原因是用于静态图像,您只需使用即可set_*lim。