색상 커스터마이징

Python으로 배우는 Plotly 데이터 시각화 입문

Alex Scriven

Data Scientist

커스터마이징 개요

 

플롯 커스터마이징 방법:

  1. 생성 시 해당 인자 사용(예: color)
  2. 생성 후 update_layout() 사용
    • 딕셔너리 전달
    • fig.update_layout({"title":{"text":"A New Title"}})
Python으로 배우는 Plotly 데이터 시각화 입문

왜 색상을 커스터마이징할까요?

 

색상 커스터마이징은 다음에 유용합니다:

  1. 그래프를 더 멋지게 만듭니다
  2. 인사이트 전달에 기여합니다
    • 이 산점도에서 색상은 3번째 차원을 더합니다.

   

종별 색상

Python으로 배우는 Plotly 데이터 시각화 입문

간단한 색 이론

 

컴퓨터는 색을 지정할 때 RGB 인코딩을 사용합니다:

  • RGB = Red, Green, Blue를 0–255로 나타내는 3자리 코드
    • (0,0,255)는 파랑, (255,255,0)는 노랑

$$

$$

자세한 내용: 기사

RGB 색상 예시 표

Python으로 배우는 Plotly 데이터 시각화 입문

plotly.express에서 색상 지정

 

  • color 인자(DataFrame 열)
    • 각 범주에 색이 자동 할당됩니다
    • 수치형 열에는 색상 스케일이 사용됩니다

 

fig = px.bar(data_frame=student_scores, 
      x="student_name", 
      y="score", 
      title="Student Scores by Student"
      color="city")
fig.show()
Python으로 배우는 Plotly 데이터 시각화 입문

사용한 색상 공개

이전 그래프:

색상 없는 막대차트

변경 후 그래프:

색상 있는 막대차트

Python으로 배우는 Plotly 데이터 시각화 입문

단변량 플롯에서의 색상

 

plotly.expresscolor 인자를 단변량(막대, 히스토그램) 플롯에 사용:

  • 히스토그램 - 누적 막대
  • 박스플롯 - 여러 플롯 생성

색상 있는 누적 히스토그램

색상으로 나란한 박스플롯

Python으로 배우는 Plotly 데이터 시각화 입문

plotly.express에서 특정 색 지정

 

  • color_discrete_map: 범주 값을 색에 매핑하는 딕셔너리
  • 기본 색상은 "red", "green" 등 문자열로도 지정 가능
Python으로 배우는 Plotly 데이터 시각화 입문

지정 색상 적용

$$

fig = px.bar(
    data_frame=student_scores, 
    x="student_name", y="score", 
    title="Student Scores by Student",

color_discrete_map={ "Melbourne": "rgb(0,0,128)", "Sydney": "rgb(235, 207, 52)"},
color="city")

 

지정한 색상의 막대차트

Python으로 배우는 Plotly 데이터 시각화 입문

plotly.express의 색상 스케일

 

  • 단일 색상 스케일(연한 녹색 → 진한 녹색)

녹색 색상 스케일

  • 혼합 그라데이션(녹색 → 파란색)

$$

  • 색상 스케일 인자: color_continuous_scale

녹-청 색상 스케일

Python으로 배우는 Plotly 데이터 시각화 입문

내장 색상 스케일 사용

 

fig = px.bar(data_frame=weekly_temps, 
    x="day", y="temp", 
    color="temp",
    color_continuous_scale="inferno")
fig.show()

 

$$

 

inferno 색상 스케일 막대차트

Python으로 배우는 Plotly 데이터 시각화 입문

직접 색상 범위 만들기

 

  • 사용자 정의 색상 스케일(노랑 - 주황 - 빨강)
my_scale=[("rgb(242, 238, 10)"),
          ("rgb(242, 95, 10)"), 
          ("rgb(255,0,0)")]

fig = px.bar(data_frame=weekly_temps, x="day", y="temp",
color_continuous_scale=my_scale, color="temp")

 

사용자 정의 색상 스케일 막대차트

Python으로 배우는 Plotly 데이터 시각화 입문

연습해 봅시다!

Python으로 배우는 Plotly 데이터 시각화 입문

Preparing Video For Download...