Pyplot交互式缩放

Coo*_*une 4 python matplotlib

我想显示在首次显示时放大的图像,但是仍然可以使用图形工具栏中的交互式“重置原始视图”按钮将图像放大到最大比例。裁剪是完全不能接受的。使用plt.axis([x0, x1, y0, y1])的确允许平移,但交互式窗口不会重置为完整比例。

有没有一种方法可以触发图缩放或以其他方式解决此问题?

tac*_*ell 6

一种方法是:

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