Фиксация радиальной оси на полярных участках MATLAB

Я использую полярные графики (POLAR (THETA, RHO)) в MATLAB.

Есть ли простой способ исправить диапазон радиальной оси, например, 1,5?

Я ищу что-то аналогичное командам xlim, ylim для декартовых осей. В документах еще ничего не найдено.

Ответы

Ответ 1

Вот как я смог это сделать.

Полярный график MATLAB (если вы смотрите на доступные опции Handle Graphics) не имеет ничего подобного xlim или ylim. Тем не менее, я понял, что первое, что построено, устанавливает диапазон, поэтому мне удалось построить функцию с радиусом [-.5.5] на графике [-1 1] следующим образом:

theta  = linspace(0,2*pi,100);
r      = sin(2*theta) .* cos(2*theta);
r_max  = 1;
h_fake = polar(theta,r_max*ones(size(theta)));
hold on;
h      = polar(theta, r);
set(h_fake, 'Visible', 'Off');

Это выглядит не очень хорошо и, надеюсь, есть лучший способ сделать это, но он работает.

Ответ 2

это сработало для меня... я хотел, чтобы диапазон радиуса находился до 30, поэтому я сначала построил этот

polar(0,30,'-k')
hold on

а затем построил то, что меня действительно интересовало. Эта первая застроенная точка скрыта за метками сетки. просто включите

hold off

после вашей окончательной команды построения.

Ответ 3

Простым решением является создание фальшивого графика и его белый цвет.

fake=100;
polar(0,fake,'w');
hold on;

real=10;
polar(0,real,'w');

Ответ 4

В случае, если кто-то еще сталкивается с этим, вот решение:

Как указано Scottie T и gnovice, Matlab в основном использует полярную функцию в качестве интерфейса для стандартных графиков, но с большим количеством форматирования за кулисами, чтобы заставить его выглядеть полярная. Посмотрите на значения свойств XLim и YLim полярного графика, и вы заметите, что они буквально являются границами x и y вашего графика в декартовых координатах. Итак, чтобы установить ограничение по радиусу, используйте xlim и ylim, или ось, и будьте умны относительно значений, которые вы установили:

rlim = 10;
axis([-1 1 -1 1]*rlim);

... что все есть. Happy Matlabbing:)