CommencezCommencez gratuitement

Gérer un trop grand nombre de catégories

Il arrive qu'on manque d'espace dans une figure et qu'on doive afficher beaucoup de données en même temps. Ici, vous voulez montrer la trajectoire sur un an de chaque polluant pour chaque ville du jeu de données pollution. Chaque trajectoire de polluant sera tracée comme une ligne dont la valeur en y correspond aux écarts types par rapport à la moyenne annuelle. Cela veut dire que vous aurez beaucoup de lignes dans le même graphique — bien plus que ce qu'on peut distinguer clairement avec la couleur.

Pour y arriver, vous avez décidé de mettre en évidence un petit sous-ensemble de combinaisons ville–polluant (wanted_combos). Ce sous-ensemble est le plus important pour vous, et les autres trajectoires fourniront un contexte utile pour la comparaison. Pour attirer l'attention, vous attribuerez la même couleur « autre » à toutes les trajectoires non mises en évidence.

Cette activité fait partie du cours

Améliorer vos visualisations de données en Python

Voir le cours

Instructions de l’exercice

  • Modifiez la compréhension de liste pour isoler les combinaisons ville–polluant souhaitées (wanted_combos).
  • Indiquez au diagramme linéaire de colorer les lignes selon la nouvelle colonne color_cats de votre DataFrame.
  • Utilisez l'argument units pour préciser comment, c'est‑à‑dire à partir de quelle colonne, les points doivent être reliés pour former chaque ligne.
  • Désactivez l'agrégation des points avec l'argument estimator.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code