2016-07-26 3 views
1

나는 Matlab을 사용하여 모두 함께로드하고 배치해야하는 많은 서브 플로트를 가지고 있습니다. 개인화 된 Ticks를 추가하고 싶지만 내 접근 방식이 효과적이지 않습니다. 내 mwe 다음과 같습니다 :서브 플롯의 XTick이 작동하지 않습니다.

x = 1:1:1000; 
r = rand(1000,1); 
my1 = subplot(2,3,1); 
my1 = bar(x,sort(r)); 
title ('This works') 
xlabel ('This works too') 
xlim ([0 1000]) 
my = get(gca); 
my.XTick = [1 200 499] 

그리고 마지막 점이 작동하지 않습니다. 왜? 어떻게 해결할 수 있습니까?

답변

2

get(gca)은 축 처리 자체가 아닌 현재 축의 모든 그래픽 속성 중 struct을 반환합니다. 이 struct 속성의 변경 사항은 실제 axes에 반영되지 않습니다. 직접 set

set(gca, 'XTick', [1 200 499]) 

를 사용하여 axes의 속성을 수정해야 아니면 2014b에 있다면

% Don't use get(gca) to get the handle 
ax = gca; 

% Set the XTick property 
ax.XTick = [1 200 499]; 
+0

을 이해했다. 고맙습니다. 저는 아직 Matlab 그래픽 환경에 익숙하지 않습니다. – Patapunfate