시작하기무료로 시작하기

플롯 리믹스하기

농산물 직거래 장터의 위도와 장터가 운영된 개월 수 사이의 관계가 흥미롭네요. 직관적으로 남쪽으로 갈수록 재배 기간이 길어지므로 장터가 더 오래 열릴 수 있습니다. 이 패턴을 시각화하기 위해, 주(state) 단위로 시장 데이터를 요약하고, 장터가 운영되는 기간을 열(column)로 하는 히트맵을 그려 봅니다. 히트맵의 각 행은 해당 주의 장터 "시즌" 분포를 보여 주며, 행은 주의 위도를 기준으로 내림차순으로 정렬됩니다.

heatmap

기본 히트맵은 개선할 부분이 많습니다. 글꼴 크기를 줄여 주 이름이 서로 겹치지 않도록 해 보세요. 또한 어두운 색상 팔레트는 밝은 배경과 어울리지 않고, 이 그래프의 요점이 상대 비교이므로 컬러바도 독자에게 큰 도움이 되지 않습니다.

이 연습은 강의의 일부입니다

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

강의 보기

연습 안내

  • 글꼴 크기를 기본값의 85%로 줄여 주 이름이 덜 빽빽해지도록 하세요.
  • 'white'에서 'steelblue'로 이어지는 새로운 색상 팔레트를 만드세요.
  • 기본 팔레트를 새로 만든 팔레트로 교체하세요.
  • 히트맵 옆에 그려지는 연속형 컬러바 범례를 제거하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Decrease font size so state names are less crowded
sns.set(____ = ____)

# Switch to an appropriate color palette
blue_pal = sns.light_palette("____", as_cmap = True)

# Order states by latitude
g = sns.heatmap(markets_by_month.reindex(state_by_lat), 
            # Add gaps between cells
            linewidths = 0.1, 
            # Set new palette and remove color bar 
            cmap = ____, cbar = ____,
            yticklabels = True)

# Rotate y-axis ticks 
g.set_yticklabels(g.get_yticklabels(), rotation = 0)
plt.title('Distribution of months open for farmers markets by latitude')
plt.show()
코드 편집 및 실행