2013-05-06 2 views
1

아래 코드 스 니펫은 큰 그림 크기를 맨 아래 그림에만 적용하고 위쪽 그림은 적용하지 않습니다.플롯의 각 서브 플롯에 동일한 설정을 적용하려면 어떻게해야합니까?

subplot(2,1,1) 
pcolor(lon(Lon2Use),-dep,v(Lon2Use,:)'); shading('flat'); colorbar 
subplot(2,1,2) 
pcolor(lon(Lon2Use),-dep,PressureGeo(Lon2Use,:)'); shading('flat'); colorbar 
set(gca,'FontSize',20) 
title('v along constant latitude line') 
xlabel('longitude') 
ylabel('depth') 

가능하면 가능한 한 적은 단계로 최상위 플롯을 어떻게 처리 할 수 ​​있습니까?

답변

2

몇 가지 옵션이 있습니다. 당신은 항상 모든 축이하려는 경우, 또는

subplot(2,1,1) 
pcolor(lon(Lon2Use),-dep,v(Lon2Use,:)');shading('flat');colorbar 
set(gca,'FontSize',20) %<----First axis has focus at this point 
subplot(2,1,2) 
pcolor(lon(Lon2Use),-dep,PressureGeo(Lon2Use,:)');shading('flat');colorbar 
set(gca,'FontSize',20) %<----Second axis has focus at this point 

: 함수 gca는 항상 현재 포커스가 축의 핸들을 반환하기 때문에, 가장 쉬운 해결책은 각 플롯을 한 후 명령을 반복하는 것입니다 기본적으로 글꼴 크기, 당신은 그래서 위의 코드 중 하나를 실행하기 전에 같은 root objectset the default size 수 있습니다

set(0, 'DefaultAxesFontSize', 20); 

그리고 당신의 축이 자동으로 글꼴 크기를해야합니다.

1

여기에 몇 가지 옵션이 있습니다. 당신도 그냥 당신이 즉, subplot에서 반환 값을 저장 (핸들 축) 및 이들의 속성을 설정할 수 있습니다, 당신은 즉, 두 번째 축을 작성하기 전에,

subplot(2,1,1) 
pcolor(lon(Lon2Use),-dep,v(Lon2Use,:)');shading('flat');colorbar 
set(gca,'FontSize',20) 
subplot(2,1,2) 
pcolor(lon(Lon2Use),-dep,PressureGeo(Lon2Use,:)');shading('flat');colorbar 
set(gca,'FontSize',20) 

를 호출을 반복하거나 할 수

ax = []; 

ax = [ax; subplot(2,1,1)]; 
pcolor(lon(Lon2Use),-dep,v(Lon2Use,:)');shading('flat');colorbar 
ax = [ax; subplot(2,1,2)]; 
pcolor(lon(Lon2Use),-dep,PressureGeo(Lon2Use,:)');shading('flat');colorbar 
set(ax,'FontSize',20); 

개인적으로 후자의 솔루션을 선호합니다. 왜냐하면 하위 플롯 수를 변경하면 코드가 변경되지 않기 때문입니다.

관련 문제