주별로 판매되는 상품의 인기도
Farmer's market 데이터셋에는 28가지 서로 다른 상품에 해당하는 열이 있으며, 해당 시장에서 그 상품이 판매되는지 여부가 들어 있어요. 각 주의 시장에서 특정 상품을 찾을 "가능성"에 대해 흥미로운 이야기가 있는지 확인해 보고자 합니다. 이를 위해 데이터를 세 개의 열로 요약했어요:
state- 주 이름good- 관심 있는 상품prop_selling- 해당 주의 시장 중 그 상품을 판매하는 비율
패턴이 보이는지 빠르게 파악하기 위해, 흥미로운 몇 가지 상품만 골라 간단한 텍스트 산점도를 만들기로 했어요. x축에는 상품을, y축에는 그 상품을 판매하는 해당 주 시장의 비율을 놓습니다.
이 연습은 강의의 일부입니다
Python으로 데이터 시각화 개선하기
연습 안내
goods_by_state를to_plot에 나열된 원하는 상품들로 필터링하세요.점의 크기를 비워서(0으로) 설정해 산점도 점을 숨기세요.
- 참고:
sns.scatterplot()에서size는 열의 값을 크기 척도에 매핑할 때 사용하고,s는 모든 점에 동일한 상수 크기를 지정할 때 사용합니다.
- 참고:
텍스트를 가운데 정렬로 설정해, 해당 상품의 x축 위치에 정확히 맞춰 놓으세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Subset goods to interesting ones
to_plot = ['Cheese','Maple','Fruits','Grains','Seafood','Plants','Vegetables']
goods_by_state_small = goods_by_state.____("good in "+str(to_plot))
g = sns.scatterplot('good','prop_selling', data = goods_by_state_small,
# Hide scatter points by shrinking to nothing
____ = ____)
for _,row in goods_by_state_small.iterrows():
g.annotate(row['state'], (row['good'], row['prop_selling']),
# Center annotation on axis
ha = '____',
size = 10)
plt.show()