我想显示第一次显示时放大的图像,但仍然可以使用图形工具栏中的交互式“重置原始视图”按钮缩小到满刻度。种植是完全不可接受的。使用plt.axis([x0, x1, y0, y1])
确实允许平移,但交互式窗口不会重置为满刻度。
有没有办法触发绘图以另一种方式缩放或解决这个问题?
答案 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
。