Palette categoriche

Migliorare le tue visualizzazioni dei dati in Python

Nick Strayer

Instructor

tre pannelli con paesi, città e uccelli come esempi di dati categorici

Migliorare le tue visualizzazioni dei dati in Python

Limiti della percezione

  • Limita a 10 categorie o meno
  • Considera il daltonismo
sns.palplot(sns.color_palette('Set2', 11))

Molti colori difficili da distinguere per la quantità

Migliorare le tue visualizzazioni dei dati in Python
# Assegna al dataframe una nuova colonna con le combo desiderate
pollution['interesting cities'] = [x if x in ['Long Beach', 'Cincinnati'] 
                                   else 'other' for x in pollution['city'] ]

sns.scatterplot(x="NO2", y="SO2", hue = 'interesting cities', palette='Set2',
                data=pollution.query('year == 2014 & month == 12'))

scatter plot con Long Beach e Cincinnati con colori distinti e le altre città unite in "other"

Migliorare le tue visualizzazioni dei dati in Python
colorbrewer_palettes = ['Set1',   'Set2',    'Set3',    'Accent', 
                        'Paired', 'Pastel1', 'Pastel2', 'Dark2']

for pal in colorbrewer_palettes: 
    sns.palplot(pal=sns.color_palette(pal))
    plt.title(pal, loc = 'left')

Serie di palette di colori categorici disponibili

Migliorare le tue visualizzazioni dei dati in Python

Dati ordinali (a)

  • Ha un ordine tra le classi

  • Un numero fisso di classi distinte

Diagramma con quattro quartili

Migliorare le tue visualizzazioni dei dati in Python

Dati ordinali (b)

  • Ha un ordine tra le classi

  • Un numero fisso di classi distinte

Diagramma con i sette giorni della settimana

Migliorare le tue visualizzazioni dei dati in Python

Dati ordinali (c)

  • Ha un ordine tra le classi

  • Un numero fisso di classi distinte

Scala da felice a triste con emoji

Migliorare le tue visualizzazioni dei dati in Python
colorbrewer_palettes = ['Reds', 'Blues', 'YlOrBr', 'PuBuGn', 'GnBu', 'Greys']

for i, pal in enumerate(colorbrewer_palettes): 
    sns.palplot(pal=sns.color_palette(pal, n_colors=i+4))

Serie di palette ordinali disponibili

Migliorare le tue visualizzazioni dei dati in Python
# Crea una colonna dei terzili con qcut()
pollution['NO2 Tertial'] = pd.qcut(pollution['NO2'], 3, labels = False)

# Grafico colorato per terzili calcolati 
sns.scatterplot(x="CO", y="SO2", hue='NO2 Tertial', palette="OrRd",
                data=pollution.query("city == 'Long Beach' & year == 2014"))

Scatterplot di CO e SO2 che codifica i terzili di NO2 in una scala ordinale rossa

Migliorare le tue visualizzazioni dei dati in Python

Coloriamo alcune categorie

Migliorare le tue visualizzazioni dei dati in Python

Preparing Video For Download...