Comece agoraComece grátis

Lidando com categorias demais

Às vezes você pode ter pouco espaço na figura e precisar mostrar muitos dados de uma vez. Aqui você quer mostrar a trajetória ao longo do ano de cada poluente para cada cidade no conjunto de dados pollution. Cada trajetória de poluente será plotada como uma linha, com o valor em y correspondendo aos desvios-padrão em relação à média do ano. Isso significa que haverá muitas linhas no seu gráfico ao mesmo tempo — bem mais do que você conseguiria diferenciar claramente usando apenas cor.

Para lidar com isso, você decidiu destacar um pequeno subconjunto de combinações cidade–poluente (wanted_combos). Esse subconjunto é o mais importante para você, e as outras trajetórias fornecerão um contexto valioso para comparação. Para direcionar a atenção, você vai definir todas as linhas não destacadas com a mesma cor "other".

Este exercicio faz parte do curso

Aprimorando suas visualizações de dados em Python

Ver curso

Instruções do exercicio

  • Modifique a list comprehension para isolar as combinações desejadas de cidade e poluente (wanted_combos).
  • Indique ao line plot para colorir as linhas pela nova coluna color_cats no seu DataFrame.
  • Use o argumento units para determinar como, isto é, a partir de qual coluna, os pontos devem ser conectados para formar cada linha.
  • Desative o binning dos pontos com o argumento estimator.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# Choose the combos that get distinct colors
wanted_combos = ['Vandenberg Air Force Base NO2', 'Long Beach CO', 'Cincinnati SO2']

# Assign a new column to DataFrame for isolating the desired combos
city_pol_month['color_cats'] = [x if x in ____ else 'other' for x in city_pol_month['city_pol']]

# Plot lines with color driven by new column and lines driven by original categories
sns.lineplot(x = "month",
             y = "value",
             hue = '____',
             units = '____',
             estimator = ____,
             palette = 'Set2',
             data = city_pol_month)
plt.show()
Editar e Executar Código