Растянуть срез полярника () - PullRequest
0 голосов
/ 06 марта 2019

Я строю некоторые полярные координаты в Matlab.См. Пример ниже:

slice

Я только строю срез, но не могу понять, как растянуть / расширить этот срез, так как есть большепространство в окне рисунка, чем используется.Говоря в картинках, я хотел бы «открыть это как поклонник».Минимальный рабочий пример:

th = linspace(-pi/2,pi/2,100);
polarplot(th,1.1+zeros(size(th)),'g');
ax = gca;
thetalim([-5 5])
rlim([1.05 1.12])

Я пытался использовать ax.Position = [0 0 1 1]; аналогично тому, как это работает на декартовых графиках, но здесь это не работает.

Любые команды или советы, которые я 'м до сих пор отсутствует?

1 Ответ

1 голос
/ 06 марта 2019

Я могу думать только об обходном решении: увеличьте значения тета, переданные до polarplot, чтобы получить большие углы на графике, а затем перемаркируйте ось тета:

stretch = 3; % stretch factor
th = linspace(-pi/2,pi/2,100);
polarplot(th*stretch,1.1+zeros(size(th)),'g'); % apply strech to theta
ax = gca;
thetalim([-5 5]*stretch) % take stretch into account when setting theta axis limit
rlim([1.05 1.12])
ax = gca;
ax.ThetaTickLabel = strsplit(num2str((ax.ThetaTick/stretch))); % correct theta labels

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

ax.ThetaTick = stretch*(-5:5); % specify theta ticks, including stretch
ax.ThetaTickLabel = strsplit(num2str((ax.ThetaTick/stretch))); % correct theta labels

enter image description here

...