이전 포스트에서 plot()명령을 내리면 창이 자동으로 생성됨을 확인할 수 있다. 여기에서는 사용자가 임의로 여러 개의 그래프 창을 선택(생성)하고, 내용을 지우고, 창을 닫는 기능을 설명하도록 하겠다.


 그래프 창은 각각 고유의 아이디를 가지고 있다. 현재 열린 여러 개의 그래프 창들 중에서 특정한 아이디를 갖는 그래프 창을 선택하려면 scf() 함수를 호출하면 된다. (Set Current Figure)


>> scf(n) // n번 그래프 창 선택 (없으면 생성)
>> h = scf(n) // n번 그래프창 선택(없다면 생성) (h : 핸들)
>> scf() // (직전 아이디+1)을 가지는 새로운 그래프창 생성.
              (초기에는 0번이 생성됨)


이 함수를 사용하면 그래프 창이 선택되고 만약 지정한 아이디를 가지는 그래프창이 없다면 생성된다. 이후의 plot 명령은 이렇게 선택된 창에 그래프가 그려지게 된다. 그래프 창의 캡션바에 보면 이 아이디가 표시된 것을 확인할 수 있다.



이 아이디는 현재 그래프 창을 선택하거나 핸들(handle)을 얻거나(gcf 함수 이용) 창을 소멸시키는 등의 일을 할 수 있는 그래프 창의 고유 번호이다. 아이디로부터 핸들을 얻기 위해서는 다음과 같이 gcf()함수를 이용한다.


>> h=gcf() // 현재 선택되어 있는 그래프 창의 핸들을 얻는다.
>> h=gcf(n) // 아이디가 n인 그래프 창의 핸들을 얻는다.


아이디와 핸들은 구분해야 하는데 아이디는 여러 개의 그래프 창을 열었을 때 각각을 구분하기 위한 번호인 반면  핸들은 그래프 창의 각종 속성을 제어할 수 있는 내부 변수값으로서 자동으로 생성되어 부여된다. 여러 개의 그래프창들이 열려 있을 때 특정 아이디를 가지는 그래프창을 선택할 때도 이 함수를 사용하면 된다.


 현재 그래프 창에 그려진 내용을 지우려면 clf()를 이용하면 된다. 용례는 다음과 같다.


>> clf() // 현재 그래프의 모든 내용을 지운다.
>> clf(h) // 핸들이 h인 그래프창의 모든 내용을 지운다.
>> clf(n, ‘reset’) // 아이디가 n인 그래프 창의 모든 내용을 지우고 속성도 초기화시킨다.


두 번째 인수로 ‘clear’ 나 ‘reset’을 줄 수 있는데 ‘clear’는 단순히 내용만을 지우는 것이고 ‘reset’은 내용을 지운 후 변경된 속성까지 초기화시키는 것이다.


 그래프창을 닫으려면 close()나 xdel()함수를 이용하면 된다. 아이디로 닫으려면 xdel()함수를 이용하고 핸들로 닫으려면 close()함수를 이용하면 된다.


>> xdel() // 현재 선택된 그래프창을 닫는다.
>> xdel(n) // 아이디가 n인 그래프창을 닫는다.
>> close() // 현재 선택된 그래프창을 닫는다.
>> close(h) // 핸들이 h인 그래프창을 닫는다.



Posted by 살레시오
,