我想知道如何滚动(上/下,左/右),同时使用pyplot imshow保持视口大小不变。
我的想法是采用一个大的numpy数组(图像),但我只想一次显示它的一小部分。如果我可以添加一些平移手形光标以向上/向下/向右/向左推动我的视口,那将是完美的。
任何提示?
答案 0 :(得分:0)
将我的评论转化为答案:
Matplotlib提供了默认情况下平移绘图的必要工具。详情见Interactive navigation article。
平移/缩放按钮
此按钮有两种模式:平移和缩放。单击工具栏按钮以激活平移和缩放,然后将鼠标放在轴上的某处。按住鼠标左键并按住它以平移图形,将其拖动到新位置。当您释放它时,您按下的点下的数据将移动到您释放的位置。如果在平移时按'x'或'y',则运动将分别约束到x或y轴。 [...]您可以使用修改键'x','y'或'CONTROL'分别将缩放约束到x轴,y轴或纵横比保留。
限制轴是可能的,例如通过ax.set_xlim(xmin,xmax)
和ax.set_ylim(ymin,ymax)
或通过ax.axis([xmin,xmax,ymin,ymax])
。
import numpy as np
import matplotlib.pyplot as plt
im = np.random.rand(600,800)
plt.imshow(im)
plt.gca().axis([200,300,150,250])
plt.show()