MATLAB 그래프를 좀 더 효율적으로 또는 다양하게 변화 시키고 싶다면, graphic handle 에 대해 아셔야 합니다.
일단 다음과 같은 y = x 그래프를 하나 그려보죠.
x=1:10; y=1:10;
h_graphic=plot(x,y);
다음과 같은 그래프가 나오죠.
위 코드의 h_graphic 이 바로 이 그래프 선의 handle 입니다.
h_graphic 에는 그래프에 대한 다양한 property 들이 들어 있고 현재의 설정 상태를 확인 할 때는 get(h_graphic) 명령어를 통해 확인 할 수 있습니다.
command 창에 다음과 같이 설정 상태가 나옵니다.
그럼 간단하게 set() 명령어를 이용하여 YData 를 다음 코드처럼 변경해 보죠.
set(h_graphic, 'Ydata',[1:10]*2)
set() 명령어를 이용하여 handle 의 property를 변경 할 때는 set(handle, 'property name', 변경할 값)의 형태로 넣어 주면 됩니다.
property name 은 구분만 되면 일부만 써도 상관이 없습니다.
즉 위의 코드는 다음과 같이 써도 무방합니다.
set(h_graphic, 'yd',[1:10]*2)
위 코드에 의해 y=2*x 형태의 그래프가 된 것을 확인 할 수 있습니다.
MATLAB 의 핸들 값들은 double class 의 값들로 되 있습니다.
h_graphic 을 command 창에 타이핑 해보면 다음과 같은 결과가 나옵니다.
현재 figure 창의 handle 은 gcf 라는 키워드를 통해 알 수 있습니다.
현채 axis 의 handle 은 gca 라는 키워드를 통해 알 수 있습니다.
다음 코드를 통해 h_graphic의 parent, 즉 상위 handle 이 무엇인지를 확인 할 수 있습니다.
위에서 확인한 현재의 axis handle 이 h_graphic의 parent handle 이라는 것을 확인 할 수 있죠.
그래프의 각 object 를 직접 선택하여 handle 값을 구할 수도 있습니다.
즉 내가 바꾸고자 하는 부분이 어떤 핸들인지 용어를 알지 못해도 직접 그래프에서 선택해서 handle 을 알 수 있다는 것입니다.
다음 그림처럼 커서 버튼(Edit Plot)을 클릭 후에 흰색 바탕 부분을 선택합니다.
그리고 command 창에 gco 를 타이핑 하면 현재 선택한 object 의 handle 을 알려 줍니다.
위 command 결과를 보면 위 그림에서 선택한 부분이 바로 axis handle 부분이라는 것을 알 수 있습니다.
'programming language > MATLAB' 카테고리의 다른 글
Window command 에서 MATLAB 실행 방법 (0) | 2011.11.20 |
---|---|
MATLAB, end 를 이용한 데이터 추가 (1) | 2011.11.18 |
MATLAB 집합 관련 함수들 (0) | 2011.06.13 |
MATLAB plot tools (0) | 2011.05.26 |
MATLAB adaptive filtering, Least Mean Square(LMS) (4) | 2011.05.23 |
MATLAB Dependency Report (0) | 2011.05.21 |
MATLAB ordinary differential equations 를 풀어보자~ dsolve() (0) | 2011.05.15 |
MATLAB 연립 방정식 해 구하기, least square solution (967) | 2011.05.08 |
댓글