ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Extrage rândul din jan_pollution care 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 coloanelor CO și NO2 din DataFrame-ul lb_newyears.
  • Folosește argumentul xytext pentru 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 valoarea 0.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()
Editează și rulează codul