IniziaInizia gratis

Rimixare un grafico

Trovi affascinante la relazione tra la latitudine di un farmer's market e il numero di mesi in cui il mercato è stato aperto. Intuitivamente, più si scende verso Sud, più lunghi sono i periodi di coltivazione e quindi i mercati possono restare aperti più a lungo. Per visualizzare questa idea, riassumi i dati dei mercati a livello di stato e disegni una heatmap con colonne corrispondenti alla durata di apertura dei mercati. Ogni riga della heatmap mostra la distribuzione della "stagione" del mercato per uno stato e le righe sono ordinate in ordine decrescente rispetto alla latitudine dello stato.

heatmap

La heatmap predefinita lascia a desiderare. Riduci la dimensione del font per far entrare il nome di ciascuno stato senza sovrapposizioni. Anche la palette scura stona con lo sfondo chiaro e la barra dei colori non aiuta il lettore, dato che l'obiettivo sono i confronti relativi.

Questo esercizio fa parte del corso

Migliorare le tue visualizzazioni dei dati in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Riduci la dimensione del font all'85% del valore predefinito per evitare l'affollamento dei nomi degli stati.
  • Crea una nuova palette di colori che vada da 'white' a 'steelblue'.
  • Sostituisci la palette predefinita con quella appena creata.
  • Rimuovi la legenda continua della barra dei colori disegnata accanto alla heatmap.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Decrease font size so state names are less crowded
sns.set(____ = ____)

# Switch to an appropriate color palette
blue_pal = sns.light_palette("____", as_cmap = True)

# Order states by latitude
g = sns.heatmap(markets_by_month.reindex(state_by_lat), 
            # Add gaps between cells
            linewidths = 0.1, 
            # Set new palette and remove color bar 
            cmap = ____, cbar = ____,
            yticklabels = True)

# Rotate y-axis ticks 
g.set_yticklabels(g.get_yticklabels(), rotation = 0)
plt.title('Distribution of months open for farmers markets by latitude')
plt.show()
Modifica ed esegui il codice