Axis通过imshow不断改变大小

时间:2013-04-24 23:44:14

标签: image matlab axes

我正在使用imshow绘制一个代表字母“A”的逻辑数组。我还有一个编辑框,用户可以输入值来描述x和y方向的切片数量;即10,10。 GUI启动时的默认值为10,10。如果我更改了其中一个数字,新的逻辑数组将以imshow显示,但现在它大于我已放置在GUI中的轴。我已经包含了一些屏幕抓取来显示正在发生的事情。此外,我注意到Pixel Map图像大于我原来拥有的轴的大小(与样本图像的轴大小相同)。有没有办法解决这些问题?我无法弄清楚这一点。

default

10x20

1 个答案:

答案 0 :(得分:1)

看来问题是像素图被约束到x限制和y限制不够宽的轴,可能是:

xlim = [1,10]
ylim = [1 10]

要解决此问题,请尝试以下操作:

set(axH, 'XLim', [1 xGrid])
set(axH, 'YLim', [1 yGrid])

其中axH是右图中像素地图的句柄,而xGridyGrid是您的像素地图尺寸(例如,您的第二个中的10& 20)例子)。

如果由于某种原因无法访问轴手柄,可以尝试使用

直接修改它
xlim([1 xGrid])
ylim([1 yGrid])
在绘制像素图之后立即