CommencerCommencer gratuitement

Utiliser un graphique comme légende

Un axe d’exploration intéressant dans les données des marchés fermiers est la « convivialité des marchés » d’un État, et en particulier ses valeurs aberrantes. Une façon de l’examiner consiste à utiliser le ratio entre le nombre de marchés fermiers et la population par État. Vous pourriez regarder directement ce ratio ; toutefois, il écarte les informations brutes sur la population d’un État et le nombre de marchés. Un grand État avec un ratio élevé pourrait être plus intéressant qu’un petit.

Vous pouvez montrer à la fois le ratio et les valeurs brutes en dessinant deux graphiques : l’un pour le ratio et l’autre un nuage de points du nombre de marchés par rapport à la population. Pour simplifier votre visualisation, désormais plus dense, vous pouvez utiliser le diagramme en barres comme légende : mettez en évidence certains États en faisant correspondre les couleurs de leurs barres et de leurs points du nuage.

Cet exercice fait partie du cours

Améliorer vos visualisations de données en Python

Afficher le cours

Instructions

  • Configurez deux graphiques côte à côte avec plt.subplots().
  • Faites correspondre la colonne is_selected à la couleur à la fois du diagramme en barres et du nuage de points.
  • Désactivez dodge sur le diagramme en barres, afin que les barres aient toute la hauteur.
  • Supprimez les légendes dans les deux graphiques.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Set up two side-by-side plots
f, (ax1, ax2) = plt.subplots(____, ____, figsize = (15, 15))

# Map the column for selected states to the bar color
sns.barplot('people_per_market', 'state', hue = '____',
            # Disable dodge so bars are full size
            dodge = ____, 
            data = markets_by_state, ax = ax1)

# Map selected states to point color
sns.scatterplot('log_pop', 'log_markets', hue = '____', 
                data = markets_by_state, ax = ax2, s = 100)

# Remove the legend for both plots
ax1.____()
ax2.____() 
plt.show() 
Modifier et exécuter le code