2012-10-04 5 views
5

필자는 넓은 범위의 값을 가지고 있으며 scatter (x, y, z)로 그려지는 동안 z 축을 나타내는 색상 막대는 다양한 범위의 값을 표시합니다. 이제 더 낮은 범위 값에는 관심이 없습니다. 컬러 바에서 범위를 변경하는 방법이 있습니까? 다음 코드는 플롯 할 부분이 있지만 로그 플롯을 플롯 (plot)하려고합니다. 예를 들면. 내 로그 플롯의 범위를 최대 값으로 14로 설정하고 싶습니다.컬러 바에서 범위를 수동으로 설정하는 방법은 무엇입니까?

전혀 표시되지 않는 값을 원합니다. 컬러 바는 제한된 범위, 예를 들어 14에서 최대까지를 갖습니다. 현재 로그 플롯에서 9에서 최대로 표시됩니다.

scatter(x(1:end-1), y(1:end-1), 5, gnd); 

title('G plot (m^-^2)'); 

colorbar('eastoutside'); 

xlabel(' X-axis (microns)'); 

ylabel('Y-axis (microns)'); 

figure; 

log_g=log10(gnd); 

scatter(x(1:end-1), y(1:end-1), 5,log_g); 

colorbar('eastoutside'); 

xlabel(' X-axis (microns)'); 

ylabel('Y-axis (microns)'); 

title('G Density, log plot (m^-^2)'); 
+0

그것은 당신이 원하는 것을 매우 분명하지 않다. 색상 막대의 색상을 변경 하시겠습니까? 아니면 일부 값이 전혀 표시되지 않도록 하시겠습니까? – Junuxx

+0

일부 값이 전혀 표시되지 않도록하고 싶습니다. 컬러 바는 제한된 범위, 예를 들어 14에서 최대까지를 갖습니다. 현재 로그 플롯에서 9에서 최대로 표시됩니다. – rcty

+0

플롯에서 표시하지 않으려는 지점을 제거하지 않는 이유는 무엇입니까? – slayton

답변

10

나는 caxis 당신이 찾고있는 명령은 있다고 생각합니다. 사용법 :

이 같은 caxis를 사용
caxis([minValue maxValue]) 

, 범위 [minValue maxValue] 이외의 값은 각각 컬러 맵에서 가장 낮은 또는 높은 값으로 착색됩니다.

colorbar 및 친구들이 colormap이므로, 사용하는 색상 수를 조정하려면 현재 색상 맵을 조정해야합니다. 과 같이이 작업을 수행합니다 : caxis과이 결합 물론

%# get current colormap 
map = colormap; 

%# adjust for number of colors you want 
rows = uint16(linspace(1, size(map,1), NUM_COLORS)) ; 
map = map(rows, :); 

%# and apply the new colormap 
colormap(map); 

이 가장 강력하다.

당신이 범위를 벗어난 어떤 값을 표시하지 않으려면

, 즉 그것은 당신까지, colorbar 또는 caxis의 일이 아니다 - 당신이 그려있어 데이터를 조정해야합니다 있도록 모든 값 당신 돈 '은 (으)로 꾸몄 으면 좋겠다. NaN. 이렇게하면 Matlab은이 데이터를 플로팅하고 싶지 않다는 것을 알게 될 것입니다 :

data(indices_to_data_not_to_plot) = NaN; 
surf(x,y,data); %# or whatever you're using 
+0

그래, 그걸 사용했지만 컬러 바에 caxis ([14 16])와 같은 5 개의 값만 표시하고 싶습니다. 14 14.5 15 15.5 16 values ​​표시 : – rcty

+0

@rcty : 아, 그렇게. 사용자 정의 색상 맵을 정의한 다음 편집 해 보겠습니다. –

0

어때요?

% don’t know why, but apparently your x and y are one value too long? 
x = x(1:end-1); y = y(1:end-1); 

% only plot values of 14 or higher 
scatter(x(gnd>=14), y(gnd>=14), 5, gnd(gnd>=14); 
+0

실제로는 컬러 바에 표시되어있는 z 축 (gnd)입니다 ...하지만 ur 메서드도 시도했는데 작동하지 않았습니다. – rcty

+0

예,이 값은 gnd가 14보다 크거나 같은 x 및 y 값을 선택합니다. 모든 데이터 포인트 gnd <14 인 경우는 생략됩니다. 내가 gnd에 동일한 필터를 적용하는 것을 잊어 버린 것을 참조하십시오. 수정 됨. – Junuxx

0

이 시도 :

cmap = colormap; % get current colormap 
cmap=cmap([min max],:); % set your range here 
colormap(cmap); % apply new colormap 
colorbar(); 
관련 문제