화살표 주석 달기
당신은 캘리포니아 롱비치 시의 도시 계획가라고 가정해 볼게요. 롱비치는 태평양에 위치해 있으며 매년 새해 전야에 대규모 불꽃놀이를 진행합니다. 이 쇼가 도시의 대기 질에 부정적인 영향을 미치는지 살펴보려고 해요. 이를 위해 새해 첫날의 CO와 NO2 수치를 확인하려고 합니다. 하지만 오른쪽 플롯에서 새해 첫날은 이상치가 아니라, 비교적 혼잡한 영역에 위치해 있어요.
독자가 이 지점을 쉽게 찾을 수 있도록, 새해 첫날 값을 가리키는 화살표와 함께 주석을 추가하겠습니다. 이렇게 하면 덜 혼잡한 영역에 설명 텍스트를 배치하면서, 시청자가 무엇을 보고 있는지 명확하게 전달할 수 있어요.
이 연습은 강의의 일부입니다
Python으로 데이터 시각화 개선하기
연습 안내
- pandas의
.query()메서드를 사용해 롱비치에서 2012년 새해 첫날에 해당하는jan_pollution의 행을 가져오세요. lb_newyearsDataFrame의CO와NO2열 값을 사용해 화살표의 끝점(xy)을 설정하세요.xytext인수를 사용해 주석 화살표의 텍스트를 화면 왼쪽 아래, x =2, y =15위치에 배치하세요.- 화살표를
0.03만큼'shrink'해서 관심 지점을 가리지 않도록 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Query and filter to New Years in Long Beach
jan_pollution = pollution.query("(month == 1) & (year == 2012)")
lb_newyears = jan_pollution.query("(____ == ____) & (____ == '____')")
sns.scatterplot(x = 'CO', y = 'NO2',
data = jan_pollution)
# Point arrow to lb_newyears & place text in lower left
plt.annotate('Long Beach New Years',
xy = (____, ____),
xytext = (____, _____),
# Shrink the arrow to avoid occlusion
arrowprops = {'facecolor':'gray', 'width': 3, '____': ____},
backgroundcolor = 'white')
plt.show()