주피터노트북으로 이런 저런 데이터를 볼 때, 바로바로 예쁜 EDA가 가능한 Plotly를 좋아한다. 이전에 게임 데이터 분석 관련 글에서도 시각화 툴은 Plotly였다. 그런데 아직 익히지 못해 아쉬운 점이 하나 있었는데, 그래프 색을 바꾸는 부분이었다.
디폴트로 주어지는 색상이 이렇지만 않았어도 크게 생각을 안했을 것도 같다.
(기본 색상 팔레트가 이것인데, 어째서 높을수록 노랑색이야.. 수치 낮은 애들이 굉장히 작지만 심각해보임..)
데이터 시각화 전문가도 위와 같은 컬러 구성의 그래프에 관해 좋은 구성이 아니라고 언급한 적이 있다. 그래서 작업을 하는 도중 오늘만큼은 저 색깔 부분을 정복하리라.. 생각하였다.
(미래의 당신(나)을 위해..)
px.bar(df_0233,
x='date_diff',
y='donation_no',
color='amount',
height=400)
px.
는 plotly 라이브러리를 사용한다는 의미다. (import.. 더 말 안한다)bar
는 라이브러리에 있는 다양한 기능 중에서 바 그래프를 그리겠다는 것df_0233
는 바 그래프를 적용할 테이블이다.x
, y
축에 대한 자세한 설명은 생락한다.color
는 어떤 컬럼으로 color를 표현할 것이냐의 의미다. 컬러 팔레트랑은 무상관이다.height
로 그래프 높이를 제한했다. (디폴트는 저것의 두 배 정도 된다)color_continuous_scale='Greens'
바로 요 코드를 괄호 안 다른 요소들처럼 넣어주면, 아래와 같이 그래프 색이 바뀐다.
(사실 이것도 amount가 작은 애들이 거의 안 보일 지경이라 좋은 선택은 아닌 것 같다...)
px.bar(df_0233,
x='date_diff',
y='donation_no',
color='amount',
color_continuous_scale='Greens',
height=400)
물론 이 Greens
라는 컬러 팔레트는 내가 만든 것이 아니고, 미리 설정되어 있는 것이다. 그럼 그 팔레트는 어디에 있냐가 궁금할 텐데.. 바로 이곳이다.
Built-in Continuous Color Scales in Python
연속형 데이터를 시각화할 때 활용할 수 있는 컬러셋이 여럿 소개되어 있다.
예를 들어, 위 코드에서의 'Greens' 대신 아래와 같은 컬러셋명도 활용할 수 있다.
aggrnyl agsunset blackbody bluered blues blugrn bluyl brwnyl
bugn bupu burg burgyl cividis darkmint electric emrld
gnbu greens greys hot inferno jet magenta magma
mint orrd oranges oryel peach pinkyl plasma plotly3
pubu pubugn purd purp purples purpor rainbow rdbu
rdpu redor reds sunset sunsetdark teal tealgrn viridis
ylgn ylgnbu ylorbr ylorrd algae amp deep dense
gray haline ice matter solar speed tempo thermal
turbid armyrose brbg earth fall geyser prgn piyg
picnic portland puor rdgy rdylbu rdylgn spectral tealrose
temps tropic balance curl delta edge hsv icefire
phase twilight mrybm mygbm
이상이다. 참 쉽다?
너무 고마워하지 않아도 된다.
온 마음을 다해 고마움을 드립니다