2013-09-02 2 views
2

matlab의 한 그림에 여러 개의 극좌표를 그리는 방법은 무엇입니까?동일한 그림의 다중 극좌표

polar(polar_mat,dir_mat)  
hold all;  
polar(polar_mat,dir_mat_b,'r') 

위의 코드는 두 번째 그림 만 그립니다.

+0

당신은'시도 on' 보유 할 수 있지만 코드는 나에게 좋아 보이는이 작동합니다. 'dir_mat'과'dir_mat_b'가 다른가요? – Marcin

+0

예. 그들은 다르다 ... '모두 잡아라'는 극 지형도에서는 작동하지 않는다. 다른 유형의 플롯에도 사용할 수 있습니다 ... – Janu

+0

그래서 '작업 대기'했습니까? –

답변

1

다음은 하나의 그림에 여러 개의 극좌표 그래프를 그려 보는 방법입니다. 다른 예를 설명하기 위해 subplot을 사용했습니다. 극좌표에 대해 hold on/all이 예상대로 작동하지 않음을 알 수 있습니다. (subplot, 오른쪽 상단 참조). 귀하의 문제는 그와 관련이있을 수 있습니다. 한 가지 해결 방법은 가장 큰 극좌표 그래프를 먼저 그린 다음 가장 작은 그래프를 그립니다.

(부가 적 줄거리 1)hold all ==> 두번째 라인

(부가 적 줄거리 2)연속 두 플롯 플롯 축 자동 크기 조절로 연속적으로 단일 축의 두 라인 (plot)을 플로팅 polar 두 번째 그래프를 플롯 할 때 자동 크기 조정이 트리거되지 않습니다.0 이상의 파란색 선만 표시됩니다.

(서브 플로트 3) 그래프는 두 번째로 (파란색) polar 그래프를 그립니다. 이것은 우리가보아야 만하는 것입니다.

(subplot 4) 그래프 두 개를 함께 사용하면 두 번째 그래프 (파란색)가 먼저 플롯됩니다. 축 속성은 파란색 그림 (가장 큰 그림)으로 설정되고 빨간색 그림 (가장 작은 그림)이 그림에 그려집니다.

아직 질문에 이해가 안되는 부분은 이며 "두 번째 줄거리 만 그립니다"입니다. 여기에 설명 된 시나리오에 따르면, "첫 번째 만, 두 번째는 부분적으로 그려야합니다". 마지막으로, 의견에서 읽은대로, hold on/all은 나를 포함한 많은 사용자에게 잘 작동합니다. 따라서 matlab에 버그가있을 수 있습니다. 여기

는 플롯

enter image description here

하고 코드

figure('Color','w','Position',[10 10 600 600]); 

subplot(2,2,1); 
plot((1:10)+1000,'r'); 
hold all; 
plot((1:100).^2,'b'); 
legend({'first axes';'second axes'}); 
title('axes resized with hold all','FontSize',14); 

subplot(2,2,2); 
t = 0:.01:2*pi; 
polar(t,sin(2*t).*cos(2*t),'r') 
hold all 
polar(t,t.^0.1,'b') 
title('axes NOT resized with hold all','FontSize',14); 

subplot(2,2,3); 
polar(t,t.^0.1,'b') 
title('what blue should be','FontSize',14); 

subplot(2,2,4); 
h2 = polar(t,t.^0.1,'b') 
hold all; 
h1 = polar(t,sin(2*t).*cos(2*t),'r') 
title('plot bigger first','FontSize',14);