Bảng màu phân loại

Nâng cấp trực quan hóa dữ liệu của bạn với Python

Nick Strayer

Instructor

ba bảng về quốc gia, thành phố và loài chim làm ví dụ dữ liệu phân loại

Nâng cấp trực quan hóa dữ liệu của bạn với Python

Giới hạn cảm nhận

  • Cố gắng giới hạn ≤ 10 danh mục
  • Lưu ý người mù màu
sns.palplot(sns.color_palette('Set2', 11))

Nhiều màu khó phân biệt do có quá nhiều

Nâng cấp trực quan hóa dữ liệu của bạn với 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'))

biểu đồ phân tán, Long Beach và Cincinnati có màu riêng, các thành phố khác gộp vào màu "khác"

Nâng cấp trực quan hóa dữ liệu của bạn với 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')

Một loạt bảng màu phân loại có sẵn

Nâng cấp trực quan hóa dữ liệu của bạn với Python

Dữ liệu thứ bậc (a)

  • Có thứ tự giữa các lớp

  • Số lớp phân biệt cố định

Sơ đồ hiển thị bốn tứ phân vị

Nâng cấp trực quan hóa dữ liệu của bạn với Python

Dữ liệu thứ bậc (b)

  • Có thứ tự giữa các lớp

  • Số lớp phân biệt cố định

Sơ đồ hiển thị bảy ngày trong tuần

Nâng cấp trực quan hóa dữ liệu của bạn với Python

Dữ liệu thứ bậc (c)

  • Có thứ tự giữa các lớp

  • Số lớp phân biệt cố định

Sơ đồ thang đo từ vui đến buồn bằng mặt emoji

Nâng cấp trực quan hóa dữ liệu của bạn với 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))

Một loạt bảng màu thứ bậc có sẵn

Nâng cấp trực quan hóa dữ liệu của bạn với 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"))

Biểu đồ phân tán CO và SO2 mã hóa các tertial của NO2 bằng thang màu đỏ thứ bậc

Nâng cấp trực quan hóa dữ liệu của bạn với Python

Tô màu cho các danh mục

Nâng cấp trực quan hóa dữ liệu của bạn với Python

Preparing Video For Download...