2013-09-25 3 views
1

같은 그래프에 플롯하고자하는 2 세트의 데이터가 있습니다.다중 축 : 플롯 대 라인 사용

하기 먼저 히스토그램 : 내 데이터를 플롯 라인()를 사용하면 작동

ax2 = axes('Position',get(ax1,'Position'),... 
    'XAxisLocation','bottom',... 
    'YAxisLocation','right',... 
    'Color','none',... 
    'XColor','k'); 

hist(data1); 
ax1 = gca; 

난 반대편 다음 축의 집합 Y를 설정 :

line(data2a, data2b, 'Color', 'r', 'LineStyle', '-', 'Marker', '.', 'Parent', ax2); 

그러나 plot()을 사용하면 막대 그래프가 지워지고 두 축이 왼쪽에 나타납니다.

plot(ax2, data2a, data2b); 

왜 두 번째 축이 plot()에 유효하지 않은지 알아낼 수 있습니까?

+0

그냥 코드를 붙여 넣으십시오). 이 경우'data1'이 어떻게 생겼는지를 추측해야합니다. 더 많은 도움이 필요하거나 다른 질문이 필요하면 다음과 같은 것을 추가하는 것이 좋습니다 :'data1 = rand (100,1)' –

답변

4

doc hold을 확인해야합니다.

MATLAB의 축에는 'NextPlot'속성이 있으며이 축에 새 플롯 기능이 실행될 때 수행 할 작업을 지정합니다. 'nextplot'의 기본값은 replace입니다. 이는 새로운 것이 작성되기 전에 기존의 플롯이 지워짐을 의미합니다. hold(ax, 'on') 또는 set(ax, 'nextplot', 'add')을 사용하면 새 플롯이 기존 플롯을 대체하는 대신 기존 플롯에 추가되도록 지정할 수 있습니다.

이유 및 그 lineplot없이 행동 다르게, 즉 하이 레벨 기능 (plot 등)이 축에 대하여 속성 저레벨 line, patch 같은 기능 등은되지 않지만. 어떠한 경우에도 축에 추가되며 기존 자식을 제거하지 않습니다.

편집 : 는 지금은 ax2가 귀하의 경우 비어 있어야합니다 것을 알았어 야 - 어쩌면 그냥 시도 그럼에도 불구하고 위)이 명 (그래서 우리는을 수 재현 할 문제를 보여 귀하의 질문에 대답 할 수 있습니다 일반적으로