MATLAB - Ось равна и тем временем растягивается до заполнения?

По умолчанию, stretch-to-fill включен Так

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

производит

Заставляя оси иметь одинаковый масштаб, это

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

производит

Очевидно, что stretch-to-fill отменяется axis equal, Что нужно сделать, чтобы они сосуществовали?

2 ответа

Решение

Я думаю, что вы ищете этот звонок:

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

образ

Вот таблица свойств осей, управляемых различными axis режимы:

axis_modes_axes_props


Вы также можете сделать что-то подобное, используя imshow функция, которая действует как обертка более высокого уровня для image / imagesc:

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

Проблема в том, что ваши пределы оси отражают старый размер. Может быть, есть общий способ ее решения, но установка ограничений вручную решает это:

xlim([1,100]);ylim([1,100])
Другие вопросы по тегам