CommencezCommencez gratuitement

Choisir la bonne variable à encoder par la couleur

Votre tâche est de visualiser l'évolution des valeurs de pollution pour Long Beach et les villes avoisinantes. Le code fourni produit le graphique ci-dessous (difficile à lire), qui montre les valeurs maximales de pollution (fournies dans max_pollutant_values) avec des barres colorées selon la ville.

Mutlicolor and busy bar plots with four rows corresponding to the four pollutants in dataset

Vous pouvez l'améliorer rapidement avec quelques ajustements. En limitant les villes affichées à celles de la moitié ouest du pays, vous réduirez l'encombrement visuel. Ensuite, en remplaçant l'encodage de la couleur de city à year, vous pourrez utiliser une palette ordinale, ce qui évitera à la lectrice ou au lecteur de consulter constamment la légende pour vérifier quelle couleur correspond à quelle ville.

Cette activité fait partie du cours

Améliorer vos visualisations de données en Python

Voir le cours

Instructions de l’exercice

  • Retirez 'Indianapolis', 'Des Moines', 'Cincinnati', 'Houston' du vecteur cities.
  • Intervertissez les encodages des variables city et year.
  • Utilisez la palette ColorBrewer 'BuGn' pour mapper correctement les couleurs à la nouvelle variable ordinale.

Exercice interactif pratique

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

# Reduce to just cities in the western half of US
cities = ['Fairbanks', 'Long Beach', 'Vandenberg Air Force Base', 'Denver', 
          'Indianapolis', 'Des Moines', 'Cincinnati', 'Houston']

# Filter data to desired cities
city_maxes = max_pollutant_values[max_pollutant_values.city.isin(cities)]

# Swap city and year encodings
sns.catplot(x = 'year', hue = 'city',
              y = 'value', row = 'pollutant',    
              # Change palette to one appropriate for ordinal categories
              data = city_maxes, palette = 'muted',
              sharey = False, kind = 'bar')
plt.show()
Modifier et exécuter le code