문제

Matlab에서 극장 (Polar (theta, rho))를 사용하고 있습니다.

방사형 축의 범위를 1.5로 고정하는 쉬운 방법이 있습니까?

나는 직교 축에 대한 xlim, ylim 명령과 유사한 것을 찾고 있습니다. 아직 문서에서 아무것도 찾지 못했습니다.

도움이 되었습니까?

해결책

내가 할 수있는 방법은 다음과 같습니다.

Matlab Polar 플롯 (사용 가능한 핸들 그래픽 옵션을 보면)에는 xlim 또는 ylim과 같은 것이 없습니다. 그러나 첫 번째로 플롯 된 것이 범위를 설정한다는 것을 깨달았으므로 다음과 같이 [-1 1] 플롯에서 반경 범위 [-.5 .5]로 함수를 플로팅 할 수있었습니다.

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');

그것은 그다지 좋아 보이지 않고 더 좋은 방법이 있기를 바랍니다. 그러나 그것은 작동합니다.

다른 팁

이것은 나에게 효과가 있었는데 ... 반경 범위가 30으로 가기를 원했기 때문에 먼저 이것을 플로팅했습니다.

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

그리고 내가 실제로 관심이있는 것을 그렸습니다.이 첫 번째 플롯 된 지점은 그리드 마크 뒤에 숨겨져 있습니다. 포함하십시오

hold off

최종 플로팅 명령 후.

간단한 해결책은 가짜 그래프를 만들고 색상을 흰색으로 설정하는 것입니다.

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

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

다른 사람이 이것을 발견 한 경우 여기에 그만큼 해결책:

처럼 Scottie t 그리고 gnovice 지적하면, Matlab은 기본적으로 Polar Function을 표준 플롯의 인터페이스로 사용하지만 무대 뒤에서 많은 형식을 사용하여 극성을 보이게합니다. 극점의 xlim 및 ylim 속성의 값을 살펴보면 직교 좌표에서 플롯의 x 및 y 한계라는 것을 알 수 있습니다. 따라서 반경 한계를 설정하려면 xlim 및 ylim 또는 축을 사용하고 설정 한 값에 대해 스마트하십시오.

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

... 그게 전부입니다. 행복한 matlabbing :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top