Palete categoriale

Îmbunătățirea vizualizărilor de date în Python

Nick Strayer

Instructor

Trei panouri cu țări, orașe și păsări ca exemple de date categoriale

Îmbunătățirea vizualizărilor de date în Python

Limite de percepție

  • Limitați la maximum 10 categorii
  • Luați în considerare daltonismul
sns.palplot(sns.color_palette('Set2', 11))

Culori greu de diferențiat din cauza numărului prea mare

Îmbunătățirea vizualizărilor de date în Python
# Assign a new column to dataframe the desired combos
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'))

Grafic de dispersie cu Long Beach și Cincinnati în culori distincte și celelalte orașe grupate în „other"

Îmbunătățirea vizualizărilor de date în 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')

O serie de palete de culori categoriale disponibile

Îmbunătățirea vizualizărilor de date în Python

Date ordinale (a)

  • Are ordine între clase

  • Un număr fix de clase distincte

Diagramă cu patru cuartile

Îmbunătățirea vizualizărilor de date în Python

Date ordinale (b)

  • Are ordine între clase

  • Un număr fix de clase distincte

Diagramă cu cele șapte zile ale săptămânii

Îmbunătățirea vizualizărilor de date în Python

Date ordinale (c)

  • Are ordine între clase

  • Un număr fix de clase distincte

Diagramă cu scală de la fericit la trist folosind emoji

Îmbunătățirea vizualizărilor de date în 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))

O serie de palete ordinale disponibile

Îmbunătățirea vizualizărilor de date în Python
# Make a tertials column using qcut()
pollution['NO2 Tertial'] = pd.qcut(pollution['NO2'], 3, labels = False)

# Plot colored by the computer tertials 
sns.scatterplot(x="CO", y="SO2", hue='NO2 Tertial', palette="OrRd",
                data=pollution.query("city == 'Long Beach' & year == 2014"))

Grafic de dispersie CO vs SO2 cu terțialele NO2 codificate printr-o scală de culori roșii ordinale

Îmbunătățirea vizualizărilor de date în Python

Să colorăm categorii

Îmbunătățirea vizualizărilor de date în Python

Preparing Video For Download...