여러분은 그래프란 단어를 언제 처음 학교에서 들으셨습니까? 놀랍게도 제 기억에도 없지만 초등학교 2학년 때부터 우리는 교과과정에서 그래프를 배웁니다. 그래프를 배우는 목적은 말이 살짝살짝 바뀌지만 ‘교육부 고시 제2015-74호 별책 8’에 따르면 아래와 같습니다.

교육부 고시 제2015-74호 별책 8 수학과 교육과정 18페이지
이 글을 읽고 계신 독자들께선 초등 또는 국민학교의 교문을 졸업장을 들고 나선지 적어도 6년은 되신 분들이 다수일겁니다. 과연, ‘O, X, /’로 나타내는 그래프란 무엇일까요? 아래의 그림을 보시면 기억이 나시는 분들이 있을 겁니다.

출처 : 학습지제작소(https://calcproject.tistory.com/864)
비록, 이것은 논문에서 보는 바그래프의 형태를 띠진 않고 자연수 범위만을 커버하지만 엄연히 본질은 동일합니다. X축은 개별적인 요소들 Y축은 크기나 수량을 의미합니다.
하지만, 이 플랏에는 감춰진 숫자가 있습니다. 이제 우리가 익숙하게 보는 논문 속 바그래프를 보며 확인해 보시죠.

다양한 바그래프 [출처 1-3]
제목이 스포일러라서 많은 분이 맞추셨을 거 같습니다. 정답은 바그래프는 항상 0이 들어간다는 특징이 있습니다. 바그래프는 크다/작다 와 같은 1차원적인 비교에 사용됩니다. 구체적으로 샘플 혹은 그룹의 ‘양’, ‘크기’, ‘세기’ 등을 비교할 때 쓰이죠. 이런 목적을 갖는 것들은 박스플랏도 있지만 바그래프는 0을 표시할 필요가 있는 경우에 쓰입니다. 앞의 초등학교 그래프처럼 수량이 0인 경우가 존재할 때이죠.
다른 특징으로는 각 카테고리 별로 실험에 사용된 샘플의 수가 작을 때입니다. 분자생물학 실험과 같이 반복 실험 수가 보통 3번이면서 음수와 양수가 한 그룹 내에 공존하지 않는 경우가 가장 좋은 예입니다. 이런 경우 데이터의 분포를 보여주는 것은 크게 의미가 없기 때문에 바그래프로 주로 나타냅니다. 예를 들어 western blot에서의 어떤 유전자 발현량이나 효소의 활성도 등등 대조군 (control)에 비해 실험군 (experimental group)에서 변했는지 보여줄 때 많이 쓰이죠.

바그래프 내의 각 그룹의 샘플 수는 3개 [출처 1]
앞의 것들과 달리 누적 막대그래프 (stacked bar-graph)는 샘플의 값에 여러 가지 요소들이 기여하는 정도를 나타낼 때 쓰입니다.

Stacked bargraph 예시. [출처 4] x축은 1298개의 유전자이며 y축은 돌연변이, 발현량, DNA methylation, CNV 등 개별 유전자들에 대한 종양의 의존성을 촉발하는 원인들의 상대적인 상관성을 나타냄.
위의 그래프는 1298개의 잠재적 종양치료표적 유전자들에 대해 민감성이 발생하는 원인을 돌연변이 (M), 유전자 발현 (E), DNA-메틸화 (Me), 그리고 유전자 복제 변이 (C, copy number variation)으로 구분한 후 각 카테고리의 상관성을 나타낸 표입니다. 이것을 만일 파이 차트로 나타낸다면 1298개의 패널 (pannel)이 생성될 겁니다. 그러면, 가치가 없죠. 개인적 지론입니다만, 하나의 figure의 패널 수는 가능한 10개 (A부터 J) 내에 있는 게 보기 좋다는 생각입니다.
바그래프는 일반적으로 세로축으로 두지만 가로축으로 둘 때도 있습니다. 꼭 이렇게 쓰라는 국룰 (각주 1)이나 정답은 없지만, 경향은 분명 존재합니다.
논문에서 쓰이는 실제 바그래프 몇 가지를 가져왔습니다. 먼저, 관찰하고 답을 유추해 보시죠.

세로와 가로 바그래프의 예시 [출처 5~9]
이 글을 작성하는 저도 제 경험에 토대하기 때문에 위의 예시가 전부를 포괄할 수는 절대 없습니다. 하지만, 실험 결과와 관련된 경우 어지간해선 세로 바그래프를 사용합니다. 그리고, 이 경우 카테고리는 상대적으로 단순한 (혹은 종종 생략 가능한) 이름이고 적은 편입니다. 반면, 가로 바그래프는 실험 조건이 카테고리로 들어가기보단 Gene ontology와 같은 명사가 들어가며 보통 카테고리의 이름이 길게 들어갑니다. 보통, 여기에 적힌 카테고리는 길지만 반드시 읽어주세요 하는 경우가 가로 바그래프를 쓰는 경향이 있습니다.
바그래프는 논문에서 흔히 사용되지만 해석에 주의할 필요가 있습니다. 데이터의 분포를 읽어버리는 단점이 있기 때문입니다. 오히려, 이를 악용할 수도 있습니다.
이 부분에 대해서는 Weissgerber[7]의 논문을 참고하시기 바랍니다. 아래 그림의 경우는 나중에 다루게 될 박스플랏을 사용하는 게 맞습니다.

바그래프의 적절하지 않은 표현법
실습은 처음 밝힌 것처럼 코랩에서 파이썬으로 진행을 합니다.
아래의 링크로 들어오시면 파이썬에서 몇 가지 바그래프를 pandas와 seaborn으로 다루는 것을 보실 수 있습니다. 자세한 지시사항은 코랩의 노트북을 확인해 주시기 바랍니다.
노트북
https://colab.research.google.com/drive/1wZASH-5sS6OAHAkxpX2GwiGS3GQPCRw8?usp=sharing
실습파일
https://docs.google.com/spreadsheets/d/1bPdU6YmtBJiy9XOaMEiamhByh-ox3xjj/edit?usp=share_link&ouid=101870760696515775907&rtpof=true&sd=true
제 연재는 독자분들의 의견을 적극 반영하고자 합니다.
연재에서 다뤄줬으면 하는 플랏이나 개선 의견이 있으시면 댓글이나 이메일로 부탁드립니다.
agicic[at]naver.com
각주
국룰 : 國rule. 신조어로 통상적으로 ‘국민’과 규칙을 뜻하는 ‘룰’의 준말로 본다. 일반 상식이라는 의미를 갖는다.
출처
[1] https://doi.org/10.1038/s41467-020-17139-y
[2] https://doi.org/10.1038/s41467-021-23165-1
[3] https://doi.org/10.1101/2022.07.07.499238
[4] 10.1126/sciadv.abh1275
[5] 10.1038/s41467-022-35378-z
[6] 10.1016/j.ccell.2022.06.010
[7] 10.1016/j.celrep.2022.110634
[8] 10.1038/s41586-020-2969-2
[9] https://doi.org/10.1155/2022/4592170
[10] https://doi.org/10.1371/journal.pbio.1002128
|