Paletas categóricas

Aprimorando suas visualizações de dados em Python

Nick Strayer

Instructor

três painéis com países, cidades e pássaros como exemplos de dados categóricos

Aprimorando suas visualizações de dados em Python

Limites da percepção

  • Tente limitar a 10 categorias ou menos
  • Considere daltonismo
sns.palplot(sns.color_palette('Set2', 11))

Um monte de cores difíceis de distinguir pela quantidade

Aprimorando suas visualizações de dados em Python
# Crie uma nova coluna no dataframe com as combinações desejadas
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'))

gráfico de dispersão com Long Beach e Cincinnati em cores distintas e as outras cidades agrupadas em "other"

Aprimorando suas visualizações de dados em 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')

Uma série de paletas de cores categóricas disponíveis

Aprimorando suas visualizações de dados em Python

Dados ordinais (a)

  • Tem ordem entre as classes

  • Um número fixo de classes distintas

Diagrama mostrando quatro quartis

Aprimorando suas visualizações de dados em Python

Dados ordinais (b)

  • Tem ordem entre as classes

  • Um número fixo de classes distintas

Diagrama mostrando os sete dias da semana

Aprimorando suas visualizações de dados em Python

Dados ordinais (c)

  • Tem ordem entre as classes

  • Um número fixo de classes distintas

Diagrama mostrando uma escala de feliz a triste com emojis

Aprimorando suas visualizações de dados em 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))

Uma série de paletas ordinais disponíveis

Aprimorando suas visualizações de dados em Python
# Crie uma coluna de terços com qcut()
pollution['NO2 Tertial'] = pd.qcut(pollution['NO2'], 3, labels = False)

# Grafique colorindo pelos terços calculados
sns.scatterplot(x="CO", y="SO2", hue='NO2 Tertial', palette="OrRd",
                data=pollution.query("city == 'Long Beach' & year == 2014"))

Gráfico de dispersão de CO e SO2 que codifica os terços de NO2 em uma escala ordinal vermelha

Aprimorando suas visualizações de dados em Python

Vamos colorir algumas categorias

Aprimorando suas visualizações de dados em Python

Preparing Video For Download...