그래프에 사용할 Figure 및 좌표축 준비하기
MATLAB 플로팅 함수의 동작
MATLAB® 플로팅 함수는 Figure와 좌표축이 없는 경우 새로 생성하거나 기존 Figure와 좌표축을 재사용합니다. 기존 좌표축을 재사용하는 경우 MATLAB은 다음을 수행합니다.
좌표축에서 그래픽스 객체를 지웁니다.
대부분의 axes 속성을 해당 디폴트 값으로 재설정합니다.
새 데이터를 기준으로 새 좌표축 제한을 계산합니다.
플로팅 함수가 그래프를 생성할 때 함수는 다음을 수행할 수 있습니다.
그래프에 사용할 Figure와 좌표축을 생성하고 특정 그래프에 필요한 속성을 설정할 수 있습니다(현재 Figure가 없을 경우 디폴트 동작임).
기존 Figure와 좌표축을 재사용하고 필요한 경우 axes 속성을 해제하고 재설정할 수 있습니다(그래프가 있는 경우 디폴트 동작임).
속성을 재설정하지 않고 새 데이터 객체를 기존 그래프에 추가할 수 있습니다(
hold
가on
인 경우).
NextPlot
Figure와 axes 속성은 MATLAB 플로팅 함수가 동작하는 방식을 제어합니다.
NextPlot 속성이 동작을 제어하는 방법
MATLAB 플로팅 함수는 Figure와 좌표축의 NextPlot
속성값을 사용하여 새 그래프를 그리기 전에 Figure와 좌표축을 추가하거나, 지우거나 아니면 지운 후 재설정할지를 결정합니다. 로우 레벨 객체 생성 함수는 NextPlot
속성을 확인하지 않습니다. 그저 새 그래픽스 객체를 현재 Figure와 좌표축에 추가할 뿐입니다.
다음 표에는 NextPlot
속성으로 가능한 값이 정리되어 있습니다.
NextPlot | Figure | 좌표축 |
---|---|---|
| 새 Figure를 만들어 현재 Figure로 사용합니다. | 좌표축에 대한 옵션이 아닙니다. |
| 현재 Figure를 지우거나 재설정하지 않고 새 그래픽스 객체를 추가합니다. (디폴트 값) | 현재 좌표축을 지우거나 재설정하지 않고 새 그래픽스 객체를 추가합니다. |
| 핸들이 숨겨져 있지 않은 모든 axes 객체를 제거한 후 새 객체를 추가합니다. Figure 속성을 재설정하지 않습니다. | 핸들이 숨겨져 있지 않은 모든 axes의 자식 객체를 제거한 후 새 그래픽스 객체를 추가합니다. axes 속성을 재설정하지 않습니다. |
| 새 객체를 추가하기 전에 모든 axes 객체를 제거하고 Figure 속성을 디폴트로 재설정합니다. | 새 객체를 추가하기 전에 모든 자식 객체를 제거하고 axes 속성을 디폴트로 재설정합니다. |
플로팅 함수는 newplot
함수를 호출하여 적절한 좌표축에 대한 핸들을 가져옵니다.
디폴트 시나리오
Figure의 NextPlot
속성이 add
이고 좌표축의 NextPlot
속성이 replace
인 디폴트 상황을 가정해 보겠습니다. newplot
을 호출하면 다음 작업을 수행합니다.
현재 Figure의
NextPlot
속성값(add
)을 확인합니다.MATLAB이 Figure를 수정하지 않고 현재 Figure에 그릴 수 있는지 결정합니다. 현재 Figure가 없으면
newplot
이 새로 생성하지만NextPlot
속성을 다시 확인하지는 않습니다.현재 좌표축의
NextPlot
속성값(replace
)을 확인하고, 좌표축에서 모든 그래픽스 객체를 삭제하고, 모든 axes 속성(Position
및Units
는 제외)을 디폴트로 재설정한 후 현재 좌표축의 핸들을 반환합니다. 현재 좌표축이 없으면newplot
이 새로 생성하지만NextPlot
속성을 다시 확인하지는 않습니다.좌표축에서 모든 그래픽스 객체를 삭제하고, 모든 axes 속성(
Position
및Units
는 제외)을 디폴트로 재설정한 후 현재 좌표축의 핸들을 반환합니다. 현재 좌표축이 없으면newplot
이 새로 생성하지만NextPlot
속성을 다시 확인하지는 않습니다.
hold 함수와 NextPlot 속성
hold
함수를 사용하면 NextPlot
속성에 편리하게 액세스할 수 있습니다. 다른 객체를 제거하거나 속성을 재설정하지 않고 객체를 그래프에 추가하려면 hold on
을 사용합니다.
hold on
— Figure 및 좌표축의NextPlot
속성을add
로 설정합니다. 선 그래프에는ColorOrder
및LineStyleOrder
속성값이 순서대로 돌아가며 적용됩니다.hold off
— 좌표축의NextPlot
속성을replace
로 설정합니다.
ishold
를 사용하여 hold
가 on
이나 off
인지를 결정합니다.
사용자 작성 플로팅 함수의 동작 제어하기
MATLAB은 NextPlot
속성의 설정을 준수하는 플로팅 함수 작성을 단순화하기 위해 newplot
함수를 제공합니다.
newplot
은 NextPlot
속성의 값을 확인하고 이들 값에 따라 적절한 동작을 수행합니다. 객체 생성 함수를 호출하는 모든 함수의 시작 부분에 newplot
을 추가하십시오.
함수가 newplot
을 호출하는 경우, newplot
은 먼저 Figure의 NextPlot
속성을 쿼리합니다. 그러면 newplot
이 속성값에 따라 다음 표에 설명된 동작을 수행합니다.
Figure의 NextPlot 속성값 | newplot 함수 |
---|---|
Figure가 없음 | Figure를 생성하고 현재 Figure로 설정합니다. |
| Figure를 현재 Figure로 설정합니다. |
| 새 Figure를 생성하고 현재 Figure로 설정합니다. |
| Figure의 자식(axes 객체 및 해당 후손)을 삭제하고 이 Figure를 현재 Figure로 설정합니다. |
| Figure의 자식을 삭제하고, Figure의 속성을 디폴트로 재설정한 후 이 Figure를 현재 Figure로 설정합니다. |
그러면 newplot
이 현재 좌표축의 NextPlot
속성을 확인합니다. 그러면 newplot
이 속성값에 따라 다음 표에 설명된 동작을 수행합니다.
좌표축의 NextPlot 속성값 | newplot 함수 |
---|---|
현재 Figure에 좌표축이 없음 | 좌표축을 생성하고 현재 좌표축으로 설정합니다. |
| 좌표축을 현재 좌표축으로 설정하고 해당 핸들을 반환합니다. |
| 좌표축의 자식을 삭제하고 이 좌표축을 현재 좌표축으로 설정합니다. |
| 좌표축의 자식을 삭제하고, 좌표축의 속성을 디폴트로 재설정한 후 이 좌표축을 현재 좌표축으로 설정합니다. |