Annotazioni con frecce
Immagina di essere un urbanista per Long Beach, California. Long Beach si affaccia sull’Oceano Pacifico e ospita un grande spettacolo di fuochi d’artificio ogni notte di Capodanno. Vuoi capire se questo evento influisce negativamente sulla qualità dell’aria della città. Per farlo, osserverai i livelli di CO e NO2 del giorno di Capodanno. Tuttavia, risulta che il giorno di Capodanno non è uno degli outlier nel grafico a destra: si trova in una delle aree più affollate.
Per guidare il lettore fino a questo punto, userai un’annotazione insieme a una freccia che punta al valore del giorno di Capodanno. Questo fornirà una chiara annotazione che spiega cosa sta osservando chi guarda, stampando il testo in una zona meno affollata del grafico.
Questo esercizio fa parte del corso
Migliorare le tue visualizzazioni dei dati in Python
Istruzioni dell'esercizio
- Estrai la riga da
jan_pollutionche corrisponde al giorno di Capodanno 2012 nella città di Long Beach usando il metodo.query()di pandas. - Imposta l’estremità della freccia (
xy) usando i valori delle colonneCOeNO2del DataFramelb_newyears. - Usa l’argomento
xytextper posizionare il testo dell’annotazione della freccia nell’angolo in basso a sinistra della visualizzazione a x =2, y =15. - "'shrink'" la freccia a
0.03, così non occlude il punto di interesse.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()