범주형 팔레트

Python으로 데이터 시각화 개선하기

Nick Strayer

Instructor

범주형 데이터 예시로 국가, 도시, 새가 있는 세 개의 패널

Python으로 데이터 시각화 개선하기

지각의 한계

  • 범주는 10개 이하로 제한
  • 색각 이상을 고려
sns.palplot(sns.color_palette('Set2', 11))

너무 많아 구분하기 어려운 색상들

Python으로 데이터 시각화 개선하기
# 원하는 조합으로 새 열 할당
pollution['interesting cities'] = [x if x in ['Long Beach', 'Cincinnati'] 
                                   else 'other' for x in pollution['city'] ]

sns.scatterplot(x="NO2", y="SO2", hue = 'interesting cities', palette='Set2',
                data=pollution.query('year == 2014 & month == 12'))

롱비치와 신시내티는 개별 색, 나머지는 other로 묶은 산점도

Python으로 데이터 시각화 개선하기
colorbrewer_palettes = ['Set1',   'Set2',    'Set3',    'Accent', 
                        'Paired', 'Pastel1', 'Pastel2', 'Dark2']

for pal in colorbrewer_palettes: 
    sns.palplot(pal=sns.color_palette(pal))
    plt.title(pal, loc = 'left')

사용 가능한 범주형 색상 팔레트 모음

Python으로 데이터 시각화 개선하기

서열형 데이터 (a)

  • 범주 간에 순서가 있음

  • 고정된 개수의 구분되는 범주

네 개의 사분위수를 보여 주는 도식

Python으로 데이터 시각화 개선하기

서열형 데이터 (b)

  • 범주 간에 순서가 있음

  • 고정된 개수의 구분되는 범주

일주일 7일을 보여 주는 도식

Python으로 데이터 시각화 개선하기

서열형 데이터 (c)

  • 범주 간에 순서가 있음

  • 고정된 개수의 구분되는 범주

이모지 얼굴로 행복부터 슬픔까지의 척도를 보여 주는 도식

Python으로 데이터 시각화 개선하기
colorbrewer_palettes = ['Reds', 'Blues', 'YlOrBr', 'PuBuGn', 'GnBu', 'Greys']

for i, pal in enumerate(colorbrewer_palettes): 
    sns.palplot(pal=sns.color_palette(pal, n_colors=i+4))

사용 가능한 서열형 팔레트 모음

Python으로 데이터 시각화 개선하기
# qcut()으로 삼등분(tertile) 컬럼 생성
pollution['NO2 Tertial'] = pd.qcut(pollution['NO2'], 3, labels = False)

# 계산된 삼등분으로 색상 인코딩하여 그리기
sns.scatterplot(x="CO", y="SO2", hue='NO2 Tertial', palette="OrRd",
                data=pollution.query("city == 'Long Beach' & year == 2014"))

NO2의 삼등분을 빨간 서열형 색상으로 인코딩한 CO 대 SO2 산점도

Python으로 데이터 시각화 개선하기

카테고리에 색 입히기

Python으로 데이터 시각화 개선하기

Preparing Video For Download...