본문 바로가기
Computer/python

[seaborn] 예쁜 그래프를 만들 수 있는 커스텀 팔레트 만들기!

by injeolmialmond 2022. 1. 5.

Custom Color Palettes for Seaborn Plots — Michael Blow (michaeljblow.com)

 

Custom Color Palettes for Seaborn Plots — Michael Blow

Being in data science, I’ve always been drawn to creating compelling visuals. It is likely due to being a photographer prior to my data science career. I have gained a profound appreciation for visual storytelling. Creating compelling visuals and communi

www.michaeljblow.com

요 게시물을 참고하여 따라해 보았습니당 :)

 

python을 활용하여 데이터를 분석하고, 이를 시각화할 때 matplotlib의 촌스러운 오렌지색, 하늘색도 아니고 정석 파란색도 아닌 요상하게 칙칙한 파란색 기본 팔레트에 질렸다면? 그렇다고 해서 기껏 다른 팔레트 적용해봤더니 그것도 너무 쨍해서 마음에 들지 않는다면?!

 

답은 seaborn에서 사용할 수 있는 커스텀 팔레트입니당!

 

 

1. colorbrewer

sns.choose_colorbrewer_palette('sequential')

colorbrewer의 경우 정해진 팔레트가 존재합니다. 이미 전문가들이 가장 예쁘고 시각화하기 좋은 조합으로 만들어뒀으니, 이를 활용하기 좋겠죠? 다만 우리가 원래 보던 그 팔레트 색깔들입니다.. 커스텀은 아니에요ㅜㅜ

여기서의 n은 sequence의 개수입니다. 내가 10으로 설정해두면 이 팔레트는 10개 색으로 이루어진 것이죠!

desat은 채도입니다. 낮출수록 채도가 낮아집니다.

2. light palette

light palette의 경우 완벽한 커스텀입니다. 오른쪽에 세팅한 컬러에서 점점 더 밝아지는 팔레트에요!

h는 hue, s는 saturation(채도), l은 lightness(밝기), n은 위에서 언급한 컬러의 개수입니다.

sns.choose_light_palette()

3. dark palette

dark palette의 경우 반대로 맨 오른쪽 컬러부터 점점 어두워지는 팔레트입니다. 위의 예시와 비슷하게 설정해보았어요! 블랙핑크의 컨셉 컬러같고 넘 예뿌지 않나용..?ㅎㅎ

sns.choose_dark_palette()

4. diverging palette

sns.choose_diverging_palette()

diverging palette는 위 팔레트들과 다르게 커스텀 컬러를 두 개 고를 수 있어요! 그리고 중간으로 갈수록 점점 밝아지게 할 것인지 (light palette), 어둡게 할 것인지(dark palette) 정할 수도 있습니다.

h_neg은 왼 쪽 컬러의 hue를, h_pos의 경우 오른쪽 컬러의 hue를 정하는 것이고, 나머지는 위와 동일합니다. 밑의 예시는 동일한 팔레트를 light, dark로 설정한 것들입니다!

 

6. cubehelix palette

cubehelix palette의 원리는 아무리 만져봐도 모르겠어서...^^! 직접 여러 번 건드려 보면 더 감이 잘 잡히실 것 같습니다.. 하하

sns.choose_cubehelix_palette()

 

 

이렇게 만든 팔레트를 사용하고 싶다면, 팔레트를 변수로 저장한 뒤, seaborn으로 시각화할 때 해당변수를 사용하면 됩니다!

seaborn으로 예쁜 팔레트 만드시고 다들 즐겁게 코딩 하시길 바라면서 이번 게시물 마무리합니다 🙋‍♀️

댓글