ComenzarEmpieza gratis

Cómo gestionar demasiadas categorías

A veces tendrás poco espacio en la figura y necesitarás mostrar muchos datos a la vez. Aquí quieres mostrar la trayectoria anual de cada contaminante para cada ciudad en el conjunto de datos pollution. Cada trayectoria de contaminante se dibujará como una línea cuyo valor en y corresponde a desviaciones estándar respecto a la media anual. Esto implica que tendrás muchas líneas en la misma gráfica, muchas más de las que podrías diferenciar claramente con color.

Para solucionarlo, has decidido resaltar un pequeño subconjunto de combinaciones ciudad-contaminante (wanted_combos). Este subconjunto es el más importante para ti, y las demás trayectorias aportarán un contexto valioso para la comparación. Para centrar la atención, pondrás todas las líneas no resaltadas en el mismo color "other".

Este ejercicio forma parte del curso

Mejora tus visualizaciones de datos en Python

Ver curso

Instrucciones del ejercicio

  • Modifica la list comprehension para aislar las combinaciones deseadas de ciudad y contaminante (wanted_combos).
  • Indica en el gráfico de líneas que coloree las líneas usando la nueva columna color_cats de tu DataFrame.
  • Usa el argumento units para determinar cómo, es decir, desde qué columna, deben conectarse los puntos de datos para formar cada línea.
  • Desactiva el binning de puntos con el argumento estimator.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código