Pyplot Interactive Zooming

时间:2014-02-25 16:14:00

标签: python matplotlib

我想显示第一次显示时放大的图像,但仍然可以使用图形工具栏中的交互式“重置原始视图”按钮缩小到满刻度。种植是完全不可接受的。使用plt.axis([x0, x1, y0, y1])确实允许平移,但交互式窗口不会重置为满刻度。

有没有办法触发绘图以另一种方式缩放或解决这个问题?

1 个答案:

答案 0 :(得分: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

我不确定如何考虑私有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