2015-01-29 5 views
0

막 대형 차트를 사용하여 일부 데이터를 플롯하려하고 있지만 잘 작동하지만 아래 그림과 같이 차이점을 인식 할 수 없다는 문제가 있으므로 y를 변경해야합니다 축 규모가 지수가 될 수 있도록 데이터의 차이가 나타날 수 있습니다 .. 어떤 도움 ?? 당신이 y 더 유니폼을보고시킴으로써 행한다 (가)하는 log 변환을 통해 y 데이터를 세미 로그 플롯으로 규모를 변경 또는 변형을 고려합니다가로 막 대형 차트에서 Y 축 배율을 기하 급수적으로 만듭니다.

x = [0.1 1 10 100 1000 10000]; 
    y = [2.66 24.58 81.72 87.90 87.99 88.00]; 
    xplot = 1:numel(x); 
    figure; 
    bar(xplot,y); 
    set(gca,'XTick', xplot); 
    set(gca,'XTickLabel', x); 
    ylim([0 100]); 
+0

표시하려고하는 내용이 확실하지 않습니다. 마지막 세 값은 대략 같기 때문에 y 축의 크기를 조정하면 의미있는 방식으로 시각화를 조정하지 않습니다. –

답변

1

: enter image description here

이 내 코드입니다 : - : 단순히

옵션 # 1 변경 ylog 규모시킴으로써 행한다 현재 축 얻고 설정 YScalelog에 :

x = [0.1 1 10 100 1000 10000]; 
y = [2.66 24.58 81.72 87.90 87.99 88.00]; 
xplot = 1:numel(x); 
figure; 
bar(xplot,y); 
set(gca,'XTick', xplot); 
set(gca,'XTickLabel', x); 
set(gca,'YScale','log'); %// NEW 
%ylim([0 100]); %// Remove as we don't need it 

이 내가 그래프 무엇을 얻을 수 있습니다 :

enter image description here

y시킴으로써 행한다가 데이터를 변경하지 않는 것을 염두해야합니다 - 네가 제시하는 방식 일 뿐이야. 진드기는 반 대수 기준으로 배치됩니다. 아래쪽에서 1, 2, 3에서 최대 10 (10^1)까지 이동 한 다음 20, 30, 40에서 최대 100 (10^2)으로 이동합니다. 200, 300, 400, 최대 1000 (10^3) 등이 있습니다. 우리는 반 대수 (semi-logarithmic) 기반으로 증가함에 따라 진드기의 패턴을 확실히 볼 수 있습니다.

옵션 # 2-logy - 데이터 변환 :

를 그냥 y 데이터를 가지고 log를 통해 실행 : 이것은 우리가 무엇을 얻을

x = [0.1 1 10 100 1000 10000]; 
y = [2.66 24.58 81.72 87.90 87.99 88.00]; 
xplot = 1:numel(x); 
figure; 
bar(xplot,log(y)); %// NEW 
set(gca,'XTick', xplot); 
set(gca,'XTickLabel', x); 
%ylim([0 100]); %// Remove as we don't need it 

:

enter image description here

y 축 s의 단위가 변경되었습니다. 귀하의 데이터가 log으로 변경되었다는 면책 조항을 남길 수 있습니다.

+0

이러한 시각화 해석이 어떻게 바뀌나요? –

+0

@KyleBooth 그것은 그렇지도 않아야합니다. 나는 OP가 더 작은 값들이 더 잘 보일 수 있도록 스케일을 바꾸고 싶다고 생각했습니다. – rayryeng

+0

첫 번째 플롯은 작은 값의 가시성에 영향을주지 않습니다 ... 두 번째 플롯은 더 큰 값을 식별하기 어렵게 만듭니다 (로그 변환 노트 포함). 나는 OP가 그가 묻는 것보다 다르게 생각하고 있다고 생각한다. –

관련 문제