MATLAB - Axis相等,同时拉伸到填充?

时间:2014-06-04 22:34:34

标签: image matlab plot matlab-figure aspect-ratio

默认情况下,stretch-to-fill已启用。所以

pixels = ones(100,100)
image(pixels);
colormap([0 0 0; 1 1 1]);

产生

enter image description here

强制轴具有相同的比例,

pixels = ones(100,100)
image(pixels);
colormap([0 0 0; 1 1 1]);
axis equal;

产生

enter image description here

显然,stretch-to-fill会覆盖axis equal。如何使它们共存?

2 个答案:

答案 0 :(得分:4)

我认为你正在寻找这个电话:

figure(1)
image(pixels)
colormap(clr)
axis image        % <-- this call

image

以下是各种manipulated axis的轴属性modes表:

axis_modes_axes_props


您也可以使用imshow函数执行类似操作,该函数充当image / imagesc的更高级别包装器:

figure(2)
imshow(pixels, clr, 'InitialMag','fit', 'Border','loose')
axis on

答案 1 :(得分:0)

问题是,您的轴限制反映了旧尺寸。也许有一种通用的解决方法,但手动设置限制可以解决它:

xlim([1,100]);ylim([1,100])