Introduction
Dans ce tutoriel, vous allez apprendre à créer un graphique "Bar of Pie" à l'aide de la bibliothèque Matplotlib de Python. Un graphique Bar of Pie est une combinaison d'un graphique camembert et d'un graphique barres empilées, où la première tranche du camembert est éclatée en un graphique en barres avec une répartition plus détaillée de ses caractéristiques. Ce graphique est utile lorsque vous voulez montrer la répartition d'un ensemble de données complet, tout en mettant en évidence des catégories spécifiques.
Conseils sur la machine virtuelle
Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites de Jupyter Notebook.
Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.
Importez les bibliothèques nécessaires
Avant de commencer à créer le graphique, nous devons importer les bibliothèques nécessaires. Dans ce cas, nous allons utiliser matplotlib.pyplot et numpy.
import matplotlib.pyplot as plt
import numpy as np
Définissez les données pour le graphique
Ensuite, nous devons définir les données que nous allons utiliser pour créer le graphique. Dans ce cas, nous allons utiliser les données suivantes :
## paramètres du graphique camembert
rapports_généraux = [.27,.56,.17]
étiquettes = ['Approuver', 'Désapprouver', 'Indécis']
éclatement = [0.1, 0, 0]
## paramètres du graphique en barres
rapports_âge = [.33,.54,.07,.06]
étiquettes_âge = ['Moins de 35 ans', '35 - 49 ans', '50 - 65 ans', 'Plus de 65 ans']
Créez le graphique camembert
Maintenant, nous pouvons créer le graphique camembert. Nous commençons par définir les objets figure et axe :
## créez la figure et attribuez les objets axe
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(9, 5))
fig.subplots_adjust(wspace=0)
Ensuite, nous définissons les paramètres du graphique camembert et le traçons :
## faites une rotation pour que la première tranche soit divisée par l'axe des x
angle = -180 * rapports_généraux[0]
tranchées, *_ = ax1.pie(rapports_généraux, autopct='%1.1f%%', startangle=angle,
labels=étiquettes, explode=éclatement)
Créez le graphique en barres
Ensuite, nous créons le graphique en barres empilées. Nous commençons par définir les paramètres du graphique :
## paramètres du graphique en barres
bas = 1
largeur =.2
## Ajouter depuis le haut correspond à la légende.
for j, (hauteur, étiquette) in enumerate(reversed([*zip(rapports_âge, étiquettes_âge)])):
bas -= hauteur
bc = ax2.bar(0, hauteur, largeur, bottom=bas, color='C0', label=étiquette,
alpha=0.1 + 0.25 * j)
ax2.bar_label(bc, labels=[f"{hauteur:.0%}"], label_type='center')
Connectez le graphique camembert et le graphique en barres
Enfin, nous connectons le graphique camembert et le graphique en barres en utilisant ConnectionPatch :
## utilisez ConnectionPatch pour tracer des lignes entre les deux graphiques
theta1, theta2 = tranchees[0].theta1, tranchees[0].theta2
centre, r = tranchees[0].centre, tranchees[0].r
hauteur_barre = sum(rapports_âge)
## tracez la ligne de connexion supérieure
x = r * np.cos(np.pi / 180 * theta2) + centre[0]
y = r * np.sin(np.pi / 180 * theta2) + centre[1]
con = ConnectionPatch(xyA=(-largeur / 2, hauteur_barre), coordsA=ax2.transData,
xyB=(x, y), coordsB=ax1.transData)
con.set_color([0, 0, 0])
con.set_linewidth(4)
ax2.add_artist(con)
## tracez la ligne de connexion inférieure
x = r * np.cos(np.pi / 180 * theta1) + centre[0]
y = r * np.sin(np.pi / 180 * theta1) + centre[1]
con = ConnectionPatch(xyA=(-largeur / 2, 0), coordsA=ax2.transData,
xyB=(x, y), coordsB=ax1.transData)
con.set_color([0, 0, 0])
ax2.add_artist(con)
con.set_linewidth(4)
Affichez le graphique
Enfin, nous affichons le graphique :
plt.show()
Sommaire
Dans ce tutoriel, vous avez appris à créer un graphique "Bar of Pie" à l'aide de la bibliothèque Matplotlib de Python. Un graphique Bar of Pie est utile lorsque vous voulez montrer la distribution d'un ensemble de données complet, tout en mettant en évidence des catégories spécifiques. Vous avez également appris à utiliser ConnectionPatch pour connecter le graphique camembert et le graphique en barres.