Adnotări cu săgeți
Imaginează-ți că ești un urbanist în Long Beach, California. Long Beach este situat pe coasta Oceanului Pacific și organizează un spectacol de artificii de amploare în fiecare Ajun de Anul Nou. Vrei să verifici dacă acest spectacol afectează negativ calitatea aerului din oraș. În acest scop, vei analiza nivelurile de CO și NO2 din prima zi a anului. Se dovedește însă că ziua de Anul Nou nu este unul dintre valorile extreme din graficul din dreapta – ea se află într-una dintre zonele mai aglomerate.
Pentru a ghida cititorul spre acest punct, vei folosi o adnotare însoțită de o săgeată care indică valoarea din Ziua Anului Nou. Astfel vei crea o adnotare clară, care explică ce vede privitorul, plasând textul într-o zonă mai puțin aglomerată a graficului.
Acest exercițiu face parte din cursul
Îmbunătățirea vizualizărilor de date în Python
Instrucțiuni pentru exercițiu
- Extrage rândul din
jan_pollutioncare corespunde Zilei Anului Nou 2012 în orașul Long Beach, folosind metoda.query()din pandas. - Stabilește punctul final al săgeții (
xy) utilizând valorile coloanelorCOșiNO2din DataFrame-ullb_newyears. - Folosește argumentul
xytextpentru a plasa textul săgeții de adnotare în colțul din stânga jos al graficului, la x =2, y =15. - Aplică
'shrink'săgeții la valoarea0.03, astfel încât aceasta să nu acopere punctul de interes.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()