6강 / 20강
색 — 순차·발산·범주, 그리고 색맹
무지개는 왜 나쁜 색표인가
색은 그림에서 가장 쉽게 망가지는 부분입니다. 그런데 규칙은 단순해요. 색표는 세 갈래뿐입니다.
논문 Fig. 6A 의 히트맵은 z점수를 그렸으니 발산 색표를 써야 합니다. Fig. 5B 의 UMAP 은 세포종류를 칠했으니 범주 색표고요. 이 둘을 바꿔 쓰면 그림이 거짓말을 시작합니다.
viridis 는 아름답지만 0 이 가운데가 아닙니다. z점수에는 발산 색표를 써야 합니다.
Python
브라우저에서 실행
범주 색은 다른 문제를 안고 있습니다. 구분되는 색은 생각보다 적어요.
| 범주 개수 | 어떻게 할까 |
|---|---|
| 2~4개 | 색으로 충분하다 |
| 5~8개 | 색맹 안전 팔레트를 골라 쓴다 (Okabe-Ito 등) |
| 9개 이상 | 색만으로는 안 된다. 라벨을 그림 안에 직접 쓰거나, 중요한 것만 칠하고 나머지는 회색으로 |
논문 Fig. 5B 의 UMAP 은 세포종류를 열 가지 넘게 칠했습니다. 그래서 구름 위에 이름을 직접 써 넣었어요. 범례만으로는 짝을 못 맞추니까요. 좋은 처리입니다.
위가 정상 시야, 아래가 적록색맹 흉내입니다. 빨강/초록은 아래에서 거의 같은 색이 됩니다.
Python
브라우저에서 실행
🤔 확인 문제
z점수(평균 0, 표준편차 1)로 바꾼 히트맵에 알맞은 색표는?
해설 z점수는 0 에 뜻이 있습니다 — 그 행의 평균이라는 뜻이요. 순차 색표를 쓰면 0 이 아무 자리에나 놓여 위/아래를 구분할 수 없게 됩니다.
🤔 확인 문제
세포종류 14가지를 UMAP 에 칠하려 합니다. 가장 좋은 방법은?
해설 구분되는 색은 여덟 개쯤이 한계입니다. 그 이상이면 범례를 오가며 짝을 맞추는 일이 독자의 몫이 돼요. 논문 Fig. 5B·7A·8A 가 전부 이름을 그림 안에 써 넣은 이유입니다.
🤔 확인 문제
빨강/초록 대신 파랑/주황을 쓰면 무엇을 잃나요?
해설 잃는 것이 없습니다. 오히려 흑백 인쇄에서도 밝기가 달라 구분됩니다. 빨강/초록은 관습일 뿐이지 근거가 아닙니다.