cleanUrl: "tips-for-nice-scientific-figures"
description: "과학적인 figure를 보기 좋게 그리는 노하우를 설명합니다."

Matplotlib + Inkscape 으로 깔끔한 figure를 그리는 법을 정리한 것이다. Figure는 각자의 취항대로, 개성있게 그리되 전달하고자 하는 메시지만 오해 없이 잘 전달되게 하면 되지만, 만약 스타일이 고민된다면 아래 규칙대로 그리면 대부분은 일관된 Figure를 그릴 수 있다.

규칙

  1. (폰트의 크기) 폰트 크기는 모든 figure 요소에 대해서 무조건 7pt로 고정한다. 반드시 필요한 경우는 6pt~5.5pt 정도까지는 허용한다.
  2. (Figure의 크기) 폰트 크기를 1번 규칙에 맞춘 상태에서, figure 크기(plt.figure(figsize=(width, height)))를 잘 조절하여 적절한 크기로 만든다. Default: (1.5, 1.5)
  3. (폰트의 모양) Sans-serif 폰트를 쓴다. Arial / FreeSans / Helvetica 정도를 추천한다.
  4. (선의 굵기) Matplotlib 기준으로 0.75로 고정한다.
  5. (그림파일 저장) 그림파일은 항상 png와 pdf 버전으로 모두 저장한다. png는 발표 자료 등에 사용, pdf는 출판용 figure에 사용한다.
  6. (Source data 저장) Figure를 그리는 데 직접적으로 사용한 데이터는 figure와 함께 저장해둔다. 보통 figure와 같은 파일명을 쓰는 것이 좋다. 예) my_cool_figure.png → my_cool_figure.csv
  7. (Panel 라벨의 크기) Subfigure/panel의 라벨은 ‘Arial, 14pt, 굵게’로 설정한다. 이건 보통 Inkscape에서 작업한다.

참고 자료들

https://github.com/cxli233/FriendsDontLetFriends

Figure 그릴 때 하면 안되는 행동들을 잘 정리해둔 GitHub repository이다. 커피 한 잔 하면서 슥 훑어보면 좋을 것이다.

Emphasis on main data

중요 데이터를 강조하는 방법에 대한 글이다. 이 방법들은 과학 논문에는 적극적으로 쓰지는 않는 것이 좋겠지만…데이터 시각화의 목적을 생각하면서 읽어보자.

Creating quality figures

여기는 figure 구성에 대한 조언 뿐만 아니라 LaTEX 논문 작업 전반에 대한 유용한 팁들이 있으니 참고하면 좋다.