function graphic 질문 드립니다.

게시판 IDL Q&A function graphic 질문 드립니다.

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #2528 Reply
      tlseorb0111
      회원

      안녕하세요
      function graphic에 관한 질문이 있습니다.
      현재 image function을 이용해 제가 원하는 형태로 그림을 그려주는 function을 만들고 있습니다.
      예를들어 다음과 같은 function인데요

      function func, data, x, y, overplot=overplot, ……
      ~~~~ 출력을 위한 data 처리과정

      i = image(~~)
      return, i
      end

      여기서 문제는 overplot 할때 생기게 되는데요.

      만일 func 에 /overplot 키워드를 사용해 그림을 그리려고 할때,
      가장 나중에 그려진 그림 또는 plot의 속성들을 어떻게 가져올수 있는지 궁금합니다.(앞서 그려진 image의 rgb_table이나 ylog, xlog와 같은 속성들)
      overplot=plot_object 처럼 plot object(?)를 func 에서 직접 받는다면 문제가 해결 되긴하지만… /overplot으로도 가능한지 알고 싶습니다.

      감사합니다.

      • 이 게시글은 tlseorb0111에 의해 8 years, 9 months 전에 수정됐습니다.
    • #2530 Reply
      jhlee
      Keymaster

      image나 plot 함수를 통해 표현된 결과물의 속성은 generatecode라는 매서드를 사용하면 확인할 수 있습니다(그림을 그리거나 그래프 표현에 대한 데이터를 확인하실 때는 getdata 매서드를 사용하시면 되고요).
      참고로 generatecode는 IDL 8.3에서, getdata는 8.1 에서 소개된 기능입니다.

      generatecode 사용 시 별도의 키워드가 설정되지 않으면 콘솔 창에 함수 표현에 사용된 키워드가 모두 나열됩니다. 그러므로 filename을 설정하여 외부 파일로 작성한 후, strcmp나 strmatch, strsplit 등의 다양한 str 함수를 통해 사용이 되었을 것으로 예상하는 속성들을 검색 및 비교하는 내용이 추가되어야 할 것으로 생각합니다.

    • #2532 Reply
      Sangwoo
      회원

      무조건 가장 최근에 그려진 그림을 대상으로 그 위에 덧그리는 경우라면 func내에 있는 image 함수에서 그냥 /overplot 키워드를 사용하도록 하면 됩니다. 덧그리는 작업외에도 대상 그래픽 개체의 속성들을 가져오는 것까지 하려면, 키워드를 통해서 그 개체의 이름을 전달해주고, func안에서는 그 이름을 사용해서 하위 속성들을 추출할 수 있습니다. 위에 올리신 코드를 참조한다면 plot_object.rgb_table과 같은 방식이 될 겁니다.

2 답변 글타래를 보이고 있습니다
'function graphic 질문 드립니다.'에 답변달기
글쓴이 정보: