CommencezCommencez gratuitement

Épurer l'arrière-plan

En explorant les tendances par État des produits vendus dans les marchés publics, quelques États ont retenu votre attention. Le Dakota du Nord et le Nouveau-Mexique se retrouvaient souvent près du bas du classement quant à la proportion de marchés vendant un produit donné, alors que le Vermont figurait toujours parmi les premiers. Vous souhaitez présenter les tendances générales des ventes par produit et par État, tout en mettant en évidence les États qui vous ont intéressé.

Vous créez un nuage de points des produits vendus en fonction de la proportion de marchés qui vendent ce produit dans un État. Pour mettre en valeur les États intéressants, vous tracez une ligne reliant chacun des points de l'État. Pour produire un graphique épuré et minimaliste, vous réduisez l'arrière-plan à un simple ensemble de grilles d'orientation.

Cette activité fait partie du cours

Améliorer vos visualisations de données en Python

Voir le cours

Instructions de l’exercice

  • Définissez un arrière-plan blanc avec des lignes de grille pour le graphique.
  • Encodez les axes x et y des nuages de points et des tracés de ligne avec le 'good' vendu et 'prop selling', respectivement.
  • Supprimez toutes les bordures du graphique. Rappelez-vous que, par défaut, sns.despine() retire seulement les lignes de bordure (spines) du haut et de la droite !

Exercice interactif pratique

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

# Set background to white with grid
sns.set_style('____')

plt.scatter('____','____', marker = '_', alpha = 0.7, data = goods_by_state)

# Draw lines across goods for highlighted states
highlighted = goods_by_state.query("state in ['New Mexico','North Dakota','Vermont']")
sns.lineplot('____','____', 'state', data = highlighted, legend = False)

# Draw state name at end of lines
last_rows = highlighted.groupby('state', as_index = False).agg('first')
for _,row in last_rows.iterrows():
    plt.annotate(row['state'], (row['good'], row['prop selling']),
                 ha = 'right', xytext = (5,0), textcoords = 'offset pixels')

# Remove all borders
sns.____(____ = ____, ____ = ____)
plt.show()
Modifier et exécuter le code