Categorische paletten

Je datavisualisaties verbeteren in Python

Nick Strayer

Instructor

drie panelen met landen, steden en vogels als voorbeelden van categorische data

Je datavisualisaties verbeteren in Python

Grenzen van waarneming

  • Beperk tot 10 categorieën of minder
  • Houd rekening met kleurenblindheid
sns.palplot(sns.color_palette('Set2', 11))

Veel kleuren die lastig te onderscheiden zijn door het grote aantal

Je datavisualisaties verbeteren in Python
# Voeg aan de dataframe een nieuwe kolom met de gewenste combinaties toe
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'))

Spreidingsdiagram waarbij Long Beach en Cincinnati aparte puntkleuren hebben en alle andere steden samengevoegd zijn als "other"

Je datavisualisaties verbeteren 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')

Een reeks beschikbare categorische kleurpaletten

Je datavisualisaties verbeteren in Python

Ordinale data (a)

  • Heeft volgorde tussen klassen

  • Een vast aantal verschillende klassen

Diagram met vier kwartielen

Je datavisualisaties verbeteren in Python

Ordinale data (b)

  • Heeft volgorde tussen klassen

  • Een vast aantal verschillende klassen

Diagram met de zeven dagen van de week

Je datavisualisaties verbeteren in Python

Ordinale data (c)

  • Heeft volgorde tussen klassen

  • Een vast aantal verschillende klassen

Diagram met een schaal van blij naar verdrietig met emoji-gezichtjes

Je datavisualisaties verbeteren 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))

Een reeks beschikbare ordinale paletten

Je datavisualisaties verbeteren in Python
# Maak een tertielenkolom met qcut()
pollution['NO2 Tertial'] = pd.qcut(pollution['NO2'], 3, labels = False)

# Plot, ingekleurd per berekende tertielen 
sns.scatterplot(x="CO", y="SO2", hue='NO2 Tertial', palette="OrRd",
                data=pollution.query("city == 'Long Beach' & year == 2014"))

Spreidingsdiagram van CO en SO2 dat de tertielen van NO2 weergeeft in een rood ordinaal kleurenschema

Je datavisualisaties verbeteren in Python

Laten we categorieën inkleuren

Je datavisualisaties verbeteren in Python

Preparing Video For Download...