2011-05-09 6 views
5

각 서브 플로트에 동일한 색상 막대를 공유하려고합니다. 나는 caxis이 1보다 큰 정수에서 작동한다는 것을 알고 있지만, caxis과 0.001과 같은 값을 사용하면 문제가있는 것으로 보입니다. 작은 숫자가있는 Matlab의 산점도에 대한 일반적인 색상 막대

ex1

x = 0:1:10; 
y = 0:1:10; 
z1 = .1:-.01:0; 
z2 = .01:-.001:0; 

figure; 
subplot(1,2,1); 
scatter(x,y,10,z1); colorbar; 
subplot(1,2,2); 
scatter(x,y,10,z2); colorbar; 

는 지금은 공통 년 Colorbar 규모를 가지고 캐터 줄거리를 갖고 싶어. 나는 caxis을 사용하려고했지만 원하는 결과를 얻지 못했습니다. 왼쪽 축은 모두 갈색이므로 올바르게 축척되지 않습니다.이 문제를 어떻게 해결할 수 있습니까? 당신이보고있는 무엇

ca = [0 .01]; 
figure; 
subplot(1,2,1); 
scatter(x,y,10,z1); caxis(ca); colorbar; 
subplot(1,2,2); 
scatter(x,y,10,z2); caxis(ca); colorbar; 

enter image description here

답변

8

올바른 행동 caxis입니다. caxis([0 0.01])을 설정하면 0.01보다 큰 모든 값에 빨간색 (또는 무엇이든 갈색)이 지정됩니다. z1에서 마지막 점을 제외한 모든 점은 0.01 이상이므로 모두 빨간색으로 표시됩니다. caxis([0 0.1])을 시도하면 오른쪽에있는 그림이 모두 파란색임을 알 수 있습니다. 두 개의 하위 그림의 동적 범위는 일정한 차이가 있으므로 동일한 caxis 한계를 적절하게 둘 다 표현할 수는 없습니다 .

대수 색 스케일을 사용해 보셨습니까? 다음보십시오 :

subplot(1,2,1); 
scatter(x,y,10,log10(z1)); colorbar; 
caxis([-3 -1]) 

subplot(1,2,2); 
scatter(x,y,10,log10(z2)); colorbar; 
caxis([-3 -1]) 

enter image description here

위의 플롯이 더 잘합니까?

+0

그게 효과가 있습니다! 그런 다음 색상 막대의 눈금 레이블을 '1e-4'등으로 변경할 수 있습니다. – Elpezmuerto