在pyplot imshow上平移

时间:2017-09-09 15:27:08

标签: python image matplotlib scroll pyqt

我想知道如何滚动(上/下,左/右),同时使用pyplot imshow保持视口大小不变。

我的想法是采用一个大的numpy数组(图像),但我只想一次显示它的一小部分。如果我可以添加一些平移手形光标以向上/向下/向右/向左推动我的视口,那将是完美的。

任何提示?

1 个答案:

答案 0 :(得分:0)

将我的评论转化为答案:

Matplotlib提供了默认情况下平移绘图的必要工具。详情见Interactive navigation article

  

enter image description here   平移/缩放按钮
  此按钮有两种模式:平移和缩放。单击工具栏按钮以激活平移和缩放,然后将鼠标放在轴上的某处。按住鼠标左键并按住它以平移图形,将其拖动到新位置。当您释放它时,您按下的点下的数据将移动到您释放的位置。如果在平移时按'x'或'y',则运动将分别约束到x或y轴。 [...]您可以使用修改键'x','y'或'CONTROL'分别将缩放约束到x轴,y轴或纵横比保留。

enter image description here

限制轴是可能的,例如通过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()