Почему круг, нанесенный в MATLAB, выглядит как эллипс? - PullRequest
3 голосов
/ 07 декабря 2009

Мне интересно в MATLAB, как бы я нарисовал круг и показал его правильно, вместо того, чтобы по умолчанию показывать его в виде эллипса. Я думаю, это как-то связано с локальной системой координат на оси.

Ответы [ 2 ]

13 голосов
/ 07 декабря 2009

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

theta = linspace(0, 2*pi, 100);
subplot(121);                     % Show the default plot
plot(cos(theta), sin(theta));
title('Default axes settings');
subplot(122);                     % Show a plot with equal data units
plot(cos(theta), sin(theta));
title('Equalized tick spacing');
axis equal;

enter image description here

5 голосов
/ 07 декабря 2009

Помимо использования axis equal в качестве @ gnovice , вы можете отключить функцию растягивания до заполнения, используя daspect :

daspect manual

или даже установив соотношение сторон оси явно на:

daspect([1 1 1])
...