CommencerCommencer gratuitement

Nettoyer l’arrière-plan

En explorant les tendances par État sur les produits vendus dans les marchés de producteurs, quelques États ont retenu votre attention. Le Dakota du Nord et le Nouveau-Mexique se trouvaient régulièrement parmi les derniers en ce qui concerne la proportion de marchés vendant un produit donné, tandis que le Vermont figurait toujours parmi les premiers. Vous souhaitez présenter les tendances générales des ventes par État, tout en mettant en évidence les États que vous avez trouvés intéressants.

Vous réalisez 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 avant les États intéressants, vous tracez une ligne entre chacun des points de l’État. Pour obtenir un graphique épuré et minimaliste, vous réduisez l’arrière-plan à un simple ensemble de grilles d’orientation.

Cet exercice fait partie du cours

Améliorer vos visualisations de données en Python

Afficher le cours

Instructions

  • Définissez un arrière-plan blanc avec des lignes de grille pour le graphique.
  • Encodez les axes x et y du nuage de points et des lignes avec le 'good' vendu et 'prop selling', respectivement.
  • Supprimez toutes les bordures du graphique. Rappelez-vous que, par défaut, sns.despine() ne supprime que les bordures supérieure et droite (spines) !

Exercice interactif pratique

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

# 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