CommencerCommencer gratuitement

Choisir la bonne variable à encoder par la couleur

Vous devez visualiser l’évolution des valeurs de pollution pour Long Beach et des villes voisines au fil du temps. Le code fourni produit le tracé ci-dessous (peu lisible), qui représente 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 améliorer cela rapidement avec quelques ajustements. En ne montrant que les villes de la moitié ouest du pays, vous réduirez l’encombrement. Ensuite, en remplaçant l’encodage de couleur de city par year, vous pourrez utiliser une palette ordinale, ce qui évitera au lecteur de consulter sans cesse la légende pour savoir quelle couleur correspond à quelle ville.

Cet exercice fait partie du cours

Améliorer vos visualisations de données en Python

Afficher le cours

Instructions

  • Supprimez 'Indianapolis', 'Des Moines', 'Cincinnati', 'Houston' du vecteur cities.
  • Permutez l’encodage 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 cet exemple de code.

# 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