IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Estrai la riga da jan_pollution che 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 colonne CO e NO2 del DataFrame lb_newyears.
  • Usa l’argomento xytext per 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()
Modifica ed esegui il codice