배경 정리하기
주마다 파머스 마켓에서 판매되는 품목 패턴을 살펴보는 동안 눈에 띄는 주가 몇 곳 있었어요. North Dakota와 New Mexico는 특정 품목을 판매하는 파머스 마켓의 비율이 꾸준히 하위권이었고, Vermont는 항상 상위권이었죠. 주별 전반적인 판매 패턴을 보여 주면서, 특히 흥미로웠던 주들을 강조해 보려고 해요.
주 내에서 해당 품목을 판매하는 마켓의 비율을 기준으로 판매 품목을 산점도로 나타냅니다. 흥미로운 주들을 강조하기 위해 각 주의 점들을 선으로 연결해요. 깔끔하고 미니멀한 플롯을 위해 배경은 방향을 잡아 주는 간단한 그리드만 남겨 둡니다.
이 연습은 강의의 일부입니다
Python으로 데이터 시각화 개선하기
연습 안내
- 플롯 배경을 흰색에 그리드라인이 보이도록 설정하세요.
- 산점도와 선 그래프의 x축과 y축을 각각 판매되는
'good','prop selling'으로 인코딩하세요. - 플롯에서 경계선을 모두 제거하세요. 기억하세요. 기본적으로
sns.despine()은 위와 오른쪽 경계선(스파인)만 제거해요!
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Set background to white with grid
sns.set_style('____')
plt.scatter('____','____', marker = '_', alpha = 0.7, data = goods_by_state)
# Draw lines across goods for highlighted states
highlighted = goods_by_state.query("state in ['New Mexico','North Dakota','Vermont']")
sns.lineplot('____','____', 'state', data = highlighted, legend = False)
# Draw state name at end of lines
last_rows = highlighted.groupby('state', as_index = False).agg('first')
for _,row in last_rows.iterrows():
plt.annotate(row['state'], (row['good'], row['prop selling']),
ha = 'right', xytext = (5,0), textcoords = 'offset pixels')
# Remove all borders
sns.____(____ = ____, ____ = ____)
plt.show()