시작하기무료로 시작하기

플롯을 범례처럼 사용하기

파머스 마켓 데이터에서 흥미로운 주제 중 하나는 각 주(state)의 "시장 친화도"와 그중에서도 이상치(outlier)입니다. 이를 살펴보는 한 가지 방법은 주별 파머스 마켓 대비 인구 비율을 사용하는 것입니다. 비율만 직접 볼 수도 있지만, 비율만 보면 주의 인구수와 시장 수에 대한 원시(raw) 정보가 사라집니다. 규모가 큰 주에서 비율이 높다면, 작은 주보다 더 흥미로울 수 있어요.

비율과 원시 수치를 모두 보여주려면 두 개의 플롯을 그리면 됩니다. 하나는 비율 막대그래프, 다른 하나는 시장 수 대 인구수 산점도입니다. 이제 시각화가 다소 복잡해졌으니 단순화하기 위해 막대그래프를 범례처럼 활용할 수 있어요. 막대와 산점도 점의 색을 맞춰 흥미로운 주를 강조해 보세요.

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

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

강의 보기

연습 안내

  • plt.subplots()를 사용해 나란한 두 개의 플롯을 설정하세요.
  • is_selected 열을 막대그래프와 산점도 모두의 색(color)에 매핑하세요.
  • 막대그래프에서 dodge를 비활성화하여 막대가 전체 높이를 차지하도록 하세요.
  • 두 플롯 모두에서 범례를 제거하세요.

실습형 인터랙티브 연습

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

# Set up two side-by-side plots
f, (ax1, ax2) = plt.subplots(____, ____, figsize = (15, 15))

# Map the column for selected states to the bar color
sns.barplot('people_per_market', 'state', hue = '____',
            # Disable dodge so bars are full size
            dodge = ____, 
            data = markets_by_state, ax = ax1)

# Map selected states to point color
sns.scatterplot('log_pop', 'log_markets', hue = '____', 
                data = markets_by_state, ax = ax2, s = 100)

# Remove the legend for both plots
ax1.____()
ax2.____() 
plt.show() 
코드 편집 및 실행