Palet kategorikal

Meningkatkan Visualisasi Data Anda di Python

Nick Strayer

Instructor

tiga panel berisi negara, kota, dan burung sebagai contoh data kategorikal

Meningkatkan Visualisasi Data Anda di Python

Batas persepsi

  • Usahakan ≤10 kategori
  • Perhatikan buta warna
sns.palplot(sns.color_palette('Set2', 11))

Banyak warna yang sulit dibedakan karena jumlahnya terlalu banyak

Meningkatkan Visualisasi Data Anda di 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'))

plot sebar dengan Long Beach dan Cincinnati diberi warna titik khusus dan kota lain digabung sebagai warna "other"

Meningkatkan Visualisasi Data Anda di 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')

Serangkaian palet warna kategorikal yang tersedia

Meningkatkan Visualisasi Data Anda di Python

Data ordinal (a)

  • Memiliki urutan antar kelas

  • Jumlah kelas berbeda terbatas

Diagram menampilkan empat kuartil

Meningkatkan Visualisasi Data Anda di Python

Data ordinal (b)

  • Memiliki urutan antar kelas

  • Jumlah kelas berbeda terbatas

Diagram menampilkan tujuh hari dalam seminggu

Meningkatkan Visualisasi Data Anda di Python

Data ordinal (c)

  • Memiliki urutan antar kelas

  • Jumlah kelas berbeda terbatas

Diagram skala dari senang ke sedih menggunakan emoji

Meningkatkan Visualisasi Data Anda di 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))

Serangkaian palet ordinal yang tersedia

Meningkatkan Visualisasi Data Anda di 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"))

Scatterplot CO dan SO2 yang mengodekan tertial NO2 dalam skala warna merah ordinal

Meningkatkan Visualisasi Data Anda di Python

Mari mewarnai beberapa kategori

Meningkatkan Visualisasi Data Anda di Python

Preparing Video For Download...