1. Concept et utilisation des diagrammes circulaires
Un diagramme circulaire, ou "camembert", permet de représenter graphiquement les tailles relatives des parts d’un tout. Si tu as déjà demandé à 10 de tes potes quel est leur langage de programmation préféré et que tu veux afficher ça sous forme de graphique, le diagramme circulaire est pile ce qu'il te faut. Il est parfait pour montrer les compositions de quelque chose, comme les parts de marché des entreprises ou la répartition du temps quotidien entre coder et regarder des vidéos de chats.
Utilisation de la fonction pie()
pour créer un
diagramme circulaire
Matplotlib offre une fonction géniale pie()
,
qui rend la création de diagrammes circulaires aussi simple
qu’une tarte !
Voici un exemple basique d'utilisation :
import matplotlib.pyplot as plt
# Données pour le diagramme
labels = ['Python', 'JavaScript', 'C++', 'Java']
sizes = [40, 30, 20, 10] # Part en pourcentages
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue'] # Couleurs des segments
# Construction du diagramme
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
# Ajustement de l’axe pour le diagramme circulaire
plt.axis('equal')
# Afficher le diagramme
plt.show()
Dans cet exemple, nous avons défini des catégories (langages
de programmation), leurs tailles et les couleurs utilisées.
Ensuite, on appelle la fonction pie()
pour
créer le diagramme. Le paramètre
autopct='%1.1f%%'
ajoute les pourcentages sur
les segments, et startangle=140
ajuste l'angle
initial pour que le diagramme soit plus joli.
2. Personnalisation des diagrammes circulaires
Un diagramme circulaire, c’est comme une tenue pour le Nouvel An — tu peux le décorer et l’ajuster à ton style. Voyons quelques méthodes de personnalisation.
Afficher les pourcentages avec autopct
Le paramètre autopct
permet de montrer le
pourcentage de chaque catégorie directement sur les secteurs
du diagramme. La valeur "%1.1f%%"
spécifie le
format (une décimale après la virgule).
import matplotlib.pyplot as plt
labels = ["Chats", "Chiens", "Oiseaux", "Poissons"]
sizes = [35, 30, 20, 15]
plt.pie(sizes, labels=labels, autopct="%1.1f%%")
plt.title("Popularité des animaux de compagnie")
plt.show()
Mettre en avant un secteur avec explode
Le paramètre explode
permet de décaler un ou
plusieurs secteurs vers l’extérieur, ce qui peut être utile
pour attirer l’attention sur une catégorie spécifique.
import matplotlib.pyplot as plt
labels = ["Chats", "Chiens", "Oiseaux", "Poissons"]
sizes = [35, 30, 20, 15]
explode = (0.1, 0, 0, 0) # Décale le premier secteur (chats)
plt.pie(sizes, labels=labels, autopct="%1.1f%%", explode=explode)
plt.title("Popularité des animaux de compagnie")
plt.show()
Ici, le secteur « Chats » est décalé de 10% du centre (valeur
0.1
), attirant l’attention sur celui-ci.
Changer les couleurs des secteurs avec colors
Tu peux attribuer une couleur différente à chaque secteur en
utilisant le paramètre colors
et en passant une
liste de couleurs.
import matplotlib.pyplot as plt
labels = ["Chats", "Chiens", "Oiseaux", "Poissons"]
sizes = [35, 30, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
plt.pie(sizes, labels=labels, autopct="%1.1f%%", colors=colors)
plt.title("Popularité des animaux de compagnie")
plt.show()
Dans cet exemple, chaque secteur a sa propre couleur pour une meilleure perception visuelle.
Modifier l'angle de départ avec startangle
Le paramètre startangle
définit l'angle de
départ du diagramme. Cela permet de placer une catégorie
principale à une position spécifique, par exemple, en haut
du diagramme.
import matplotlib.pyplot as plt
labels = ["Chats", "Chiens", "Oiseaux", "Poissons"]
sizes = [35, 30, 20, 15]
plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=90)
plt.title("Popularité des animaux de compagnie")
plt.show()
Le paramètre startangle=90
tourne le diagramme
pour que le premier secteur commence à 90 degrés (verticalement
en haut).
3. Exemples pratiques
Bien que les diagrammes circulaires soient un outil classique, ils ne conviennent pas à toutes les situations. Si tu as beaucoup de petits segments ou des données difficiles à visualiser sur un diagramme en anneau, il vaut peut-être mieux opter pour d'autres visualisations comme un bar-chart. Pense toujours à la lisibilité et à la clarté pour ton audience.
Exemple : Analyse des parts de marché
Supposons que nous disposons de données représentant la distribution des parts de marché entre quatre entreprises et que nous souhaitons créer un diagramme circulaire pour les visualiser.
import matplotlib.pyplot as plt
# Données de parts de marché
labels = ["Entreprise A", "Entreprise B", "Entreprise C", "Entreprise D"]
sizes = [40, 25, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
explode = (0.1, 0, 0, 0) # Met en avant l'entreprise A
plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=140, colors=colors, explode=explode)
plt.title("Répartition des parts de marché")
plt.show()
Ce diagramme montre les parts de marché des entreprises et met en avant le segment de l'Entreprise A pour souligner sa position dominante sur le marché.
Conseils utiles pour créer des diagrammes circulaires
- Limite le nombre de catégories : Les diagrammes circulaires sont efficaces avec peu de catégories. S'il y en a trop, le diagramme devient illisible.
- Ajoute des pourcentages : Afficher les pourcentages aide à interpréter les données plus rapidement.
- Utilise le paramètre explode : Mets en avant les catégories importantes pour attirer l’attention.
- Palette de couleurs : Choisis des couleurs distinctes, surtout si le diagramme a plus de quatre catégories.
- Considère des alternatives : Pour un grand nombre de catégories, préfère un bar-chart ou un histogramme plutôt qu'un diagramme circulaire.
Avec cette petite aventure dans le monde des diagrammes circulaires, tu peux progresser dans l'art de la visualisation avec Matplotlib. C'est un pas de plus vers le statut de pro de la dataviz, capable de raconter une histoire captivante à travers des graphiques et des diagrammes. Bonne chance et que tes diagrammes soient toujours appétissants ! 🍕
GO TO FULL VERSION