plot한 것을 postscript파일로 저장하고 싶습니다.

게시판 IDL Q&A plot한 것을 postscript파일로 저장하고 싶습니다.

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

      안녕하세요
      제가 p=plot으로 plot한 결과를 ps혹은 eps파일로 저장하고 싶습니다.
      이미지 저장버튼에서 eps확장자로 저장을 하면 title에 넣은 기호가 깨져서 나오더군요…
      다른 부분은 괜찮은데 유독 기호가 깨집니다.
      그 기호가 ☉(\odot) 이건대요… 이게 eps로 저장하면 A를 거꾸로 놓은 형태로 저장되더군요..;;
      다른 확장자로 저장해서 eps로 변환하면 그건 그거대로 이미지의 질이 떨어져서
      되도록이면 바로 ps나 eps로 저장하고 싶습니다.
      set_plot과 device도 써봤는데 ps파일이 생성되긴 해도 파일이 읽어지지 않더군요..
      어떻게 해결할 방법이 없을까요?
      현재 우분투 14.04에서 IDL8.2.3버전을 사용하고 있습니다.

    • #2946 Reply
      Sangwoo
      회원

      NG 체계에서 이와 같이 Tex 형식의 문법으로 삽입된 기호가 있는 상태에서 이 화면을 그림 파일로 저장할 때, JPG나 PNG와 같은 비트맵 포맷의 파일로 저장할 경우에는 문제가 없습니다. 하지만 언급하신 대로, 벡터 포맷(PS, EPS, PDF 등)으로 저장하고 이러한 파일을 열어서 살펴보면 기호들이 깨져서 보이는 현상이 발생합니다. 이러한 문제에 대한 해결 방법에 대해서는 좀 더 알아봐야 할 것 같습니다. 다른 해결책이 있는 것인지 아니면 버그인지는 아직 확인이 되지 않습니다.

      그리고 DG 체계에서 작업할 경우, Tex 형식의 기호 삽입 방법에 관해서는 아래 링크의 내용을 참조하시면 도움이 될 것 같습니다. 내용의 핵심은, DG 체계에서 Tex 형식의 표기를 하려면 IDL 자체적으로 지원되는 TEX2IDL이라는 내장함수를 사용하면 된다는 것입니다. 다만 이 함수는 IDL 8.x 버전들에서만 지원됩니다.

      http://idl.selab.re.kr/?p=1804

      그리고 DG 체계에서 벡터 포맷 파일로 저장할 경우에는 대략 다음과 같은 흐름으로 작업을 진행하면 됩니다. 하나의 예제로서 간단한 플롯과 함께 타이틀 문자에 Tex 형식의 기호들을 사용해 보았습니다.

      SET_PLOT, ‘PS’
      DEVICE, DECOMPOSED=0, FILENAME=’test_ps.ps’
      tt = TEX2IDL(‘ABC$\odot\alpha\beta\Mars\AA\AA$’)
      PLOT, FINDGEN(100), TITLE=tt, COLOR=0, BACKGROUND=255, FONT=1, CHARSIZE=2
      DEVICE, /CLOSE
      SET_PLOT, ‘X’; 윈도우즈 작업일 경우에는 SET_PLOT, ‘Win’

      위 예제 코드를 실행하여 저장된 ps 파일을 다른 뷰어 프로그램에서 열어보면 됩니다. 물론 OS별로 약간 차이가 날 수도 있습니다. 제가 Mac OS에서 테스트해본 바로는 잘 나오는 것을 확인했는데, 리눅스에서는 테스트를 해보지 않아서 어떻게 나올지는 모르겠습니다.

    • #2947 Reply
      Sangwoo
      회원

      좀 더 알아보니 간단한 해결 방법이 있었는데 너무 복잡한 답을 먼저 올렸던 것 같습니다. NG 체계에서 그림을 완성하고 벡터 포맷 파일로 저장하기 위하여 Save 명령을 사용할 때 /BITMAP 키워드를 함께 사용하면 됩니다. 이유는 특수 기호들 중 일부가 유니코드 기반인데, IDL의 PS 또는 PDF 드라이버에서 유니코드 지원이 되지 않기 때문입니다. 따라서 그냥 저장할 경우 기호들이 깨지는 현상이 발생하게 되며, 이러한 문제는 /BITMAP 키워드를 함께 사용함으로써 해결이 가능합니다. 이 내용은 IDL 도움말에서 TEXT 함수에 관한 내용에서 자세히 나옵니다. 그 내용을 그대로 옮겨오면 다음과 같습니다.

      Note: The following symbols are generated using Unicode characters from the DejaVu Sans font. These characters will display correctly on the screen and when the graphics are saved to a bitmap file. However, because IDL’s postscript and PDF drivers do not support Unicode, these characters will not display properly when the graphics are saved to a vector postscript or vector PDF file. If you want to use these characters with postscript or PDF, you should specify the /BITMAP keyword with the Save method.

      • #2948 Reply
        orion03
        회원

        아!! 정말 감사합니다. 말씀해주신대로 해봤더니 깔끔하게 잘 저장이 되는군요!
        DG Plot은 제약이 많아서 프로그램을 바꿔야하나 그러고 있었는데 깔끔하게 해결됬습니다!
        정말 감사합니다!

2 답변 글타래를 보이고 있습니다
'plot한 것을 postscript파일로 저장하고 싶습니다.'에 답변달기
글쓴이 정보: