HOWTO · Seaborn

Imposta il colore di sfondo dei grafici Seaborn

Questo tutorial mostra come impostare il colore di sfondo dei grafici Seaborn in Python. Scopri vari metodi per personalizzare i tuoi grafici, tra cui set_style, set_palette e le impostazioni dirette dello sfondo della figura. Valorizza le tue visualizzazioni dei dati con sfondi accattivanti e fai risaltare le tue analisi. Esplora tecniche per creare grafici coerenti e visivamente piacevoli che comunichino in modo efficace la storia dei tuoi dati.

In questa pagina

Per impostare un colore di sfondo preciso per un grafico Seaborn, passa le impostazioni Matplotlib axes.facecolor e figure.facecolor a seaborn.set(). La prima colora l’area del grafico, mentre la seconda colora il canvas circostante. Per ottenere rapidamente un aspetto coordinato, puoi invece scegliere uno stile predefinito con seaborn.set_style(). Scegli il colore esatto quando ti serve una tonalità specifica; usa uno stile predefinito quando la combinazione di sfondo, griglia e tacche è adatta al grafico.

Impostare un colore di sfondo preciso con Seaborn e Matplotlib

Passa a seaborn.set() un dizionario rc con le impostazioni Matplotlib che vuoi modificare. Puoi specificare i colori sia con i nomi sia con stringhe esadecimali. Questo esempio autonomo usa un azzurro pallido per l’area del grafico e un colore quasi bianco per il canvas della figura, quindi salva la figura:

Esegui questo esempio:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set(rc={
    "axes.facecolor": "#EAF2F8",
    "figure.facecolor": "#F7F9FC",
})

fig, ax = plt.subplots()
sns.scatterplot(x=[1, 2, 3], y=[2, 4, 3], ax=ax)
fig.savefig("seaborn-background.png", dpi=150, bbox_inches="tight")

Puoi sostituire uno dei due valori di colore con un nome, come lightblue, oppure con un altro codice esadecimale. Le impostazioni si applicano ai grafici creati dopo la chiamata; per modificare una sola area del grafico o una singola figura, imposta direttamente il relativo colore di sfondo, come descritto più avanti.

Scegliere uno sfondo con uno stile Seaborn

seaborn.set_style() seleziona uno stile predefinito che controlla contemporaneamente diverse proprietà visive. Gli stili disponibili sono darkgrid, whitegrid, dark, white e ticks. Per esempio, sns.set_style("whitegrid") imposta uno sfondo chiaro per l’area del grafico e aggiunge le linee della griglia; sns.set_style("dark") usa invece un’area scura senza griglia. Poiché uno stile modifica anche altri aspetti oltre allo sfondo, scegli quello con griglia e tacche più adatte ai dati.

Una palette determina i colori assegnati alle serie di dati, mentre il contesto regola dimensioni come quelle delle etichette e delle linee. sns.set_palette("deep") e sns.set_context("notebook") possono coordinare gli elementi grafici e il testo con lo stile, ma nessuna delle due impostazioni cambia il colore di sfondo. Per configurare tutto in modo uniforme, puoi passare a sns.set() lo stile, la palette, il contesto e le impostazioni rc.

Impostare direttamente lo sfondo della figura e degli assi

Usa gli oggetti Matplotlib quando vuoi cambiare il colore di una sola figura o di una sola area del grafico. Dopo aver creato gli oggetti con fig, ax = plt.subplots(), fig.patch.set_facecolor("#F7F9FC") modifica l’intero canvas della figura, compresi i margini intorno agli assi. ax.set_facecolor("#EAF2F8") cambia invece solo l’area del grafico di quegli assi. Questi metodi sono utili quando assi diversi, in una figura con più grafici, richiedono sfondi distinti: chiama set_facecolor() su ciascun oggetto axes a cui vuoi assegnare un colore specifico.

I valori figure.facecolor e axes.facecolor passati tramite Seaborn forniscono i valori predefiniti per le figure e gli assi creati in seguito. I metodi diretti modificano gli oggetti che hai già creato, rendono chiaro l’ambito della modifica e non cambiano i grafici creati successivamente.

Coordinare lo stile del grafico, salvare la figura e verificarne la leggibilità

L’esempio precedente combina uno sfondo di colore preciso con un grafico a dispersione Seaborn e salva la figura tramite fig.savefig(). Chiama il metodo di salvataggio della figura dopo aver creato il grafico e impostato i colori. Se preferisci plt.savefig(), assicurati che la figura desiderata sia quella attiva. Non è necessario visualizzare il grafico prima di salvarlo.

Mantieni un contrasto sufficiente tra lo sfondo, i segni dei dati, le etichette e le linee della griglia. Uno sfondo scuro può funzionare bene con segni chiari, mentre uno sfondo chiaro di solito si abbina a segni scuri. Verifica che le linee della griglia restino visibili senza distogliere l’attenzione dai dati. Seaborn accetta le normali specifiche di colore di Matplotlib, compresi i nomi e i codici esadecimali: scegli colori che mantengano la leggibilità sia sullo schermo sia nell’immagine salvata.