CommencezCommencez gratuitement

Remixer un graphique

Vous trouvez fascinante la relation entre la latitude d'un marché public et le nombre de mois où il est ouvert. Intuitivement, plus on descend vers le sud, plus la saison de croissance est longue, et donc les marchés peuvent rester ouverts plus longtemps. Pour illustrer cette idée, vous résumez les données des marchés au niveau des États et vous tracez une carte thermique dont les colonnes correspondent à la durée d'ouverture des marchés. Chaque rangée de la carte thermique montre la répartition de la « saison » des marchés pour un État, et les rangées sont triées par latitude de l'État en ordre décroissant.

heatmap

La carte thermique par défaut laisse à désirer. Réduisez la taille de la police pour que chaque nom d'État tienne sans chevauchement. La palette de couleurs sombre jure aussi avec l'arrière-plan clair, et la barre de couleurs n'aide pas le lecteur puisque l'objectif est la comparaison relative.

Cette activité fait partie du cours

Améliorer vos visualisations de données en Python

Voir le cours

Instructions de l’exercice

  • Réduisez la taille de la police à 85 % de la valeur par défaut pour éviter l'encombrement des noms d'État.
  • Créez une nouvelle palette de couleurs allant de 'white' à 'steelblue'.
  • Remplacez la palette par défaut par la nouvelle.
  • Retirez la légende continue de la barre de couleurs affichée à côté de la carte thermique.

Exercice interactif pratique

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

# Decrease font size so state names are less crowded
sns.set(____ = ____)

# Switch to an appropriate color palette
blue_pal = sns.light_palette("____", as_cmap = True)

# Order states by latitude
g = sns.heatmap(markets_by_month.reindex(state_by_lat), 
            # Add gaps between cells
            linewidths = 0.1, 
            # Set new palette and remove color bar 
            cmap = ____, cbar = ____,
            yticklabels = True)

# Rotate y-axis ticks 
g.set_yticklabels(g.get_yticklabels(), rotation = 0)
plt.title('Distribution of months open for farmers markets by latitude')
plt.show()
Modifier et exécuter le code