Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Diagramme Circulaire | Plus de Graphiques Statistiques
Visualisation Ultime Avec Python

book
Diagramme Circulaire

Diagramme circulaire est un graphique qui utilise un cercle divisé en tranches (segments) pour représenter la proportion numérique (distribution en pourcentage) de données nominales. Voici un exemple de diagramme circulaire :

Ce graphique représente la distribution en pourcentage de la population par région. Ça a l'air plutôt sympa, n'est-ce pas ?

Remarque

Bien qu'ils soient sympas, les diagrammes circulaires devraient être principalement évités, car ils déforment la vue des données. Une catégorie avec beaucoup d'instances semblera encore plus grande, une catégorie avec peu d'instances semblera encore plus petite.

Nous allons maintenant discuter de la façon de créer un tel graphique dans matplotlib.

Diagramme circulaire avec étiquettes

La fonction que nous allons utiliser est pie() du module pyplot, et son premier et seul paramètre obligatoire est notre donnée (appelée x).

Un autre paramètre important est labels qui spécifie les étiquettes des segments (il doit s'agir d'une séquence de chaînes).

Jetons d'abord un coup d'œil aux données de notre exemple :

import pandas as pd
url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv'
population_df = pd.read_csv(url)
print(population_df)
1234
import pandas as pd url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv' population_df = pd.read_csv(url) print(population_df)
copy

Ce DataFrame contient la population de chaque région. Passons maintenant à notre exemple :

import matplotlib.pyplot as plt
import pandas as pd
population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv')
# Creating a pie chart and setting the labels for each region
plt.pie(population_df['Population'], labels=population_df['Region'])
plt.show()
123456
import matplotlib.pyplot as plt import pandas as pd population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv') # Creating a pie chart and setting the labels for each region plt.pie(population_df['Population'], labels=population_df['Region']) plt.show()
copy

Nous avons appelé la fonction pie() en passant la Series avec les données de population comme paramètre x et la Series avec les noms des régions comme étiquettes pour les segments.

Ajout des Pourcentages

Le graphique semble correct, mais il manque encore quelque chose. Nous ne connaissons pas le pourcentage exact de chaque région individuelle. Heureusement, il existe un paramètre autopct qui spécifie le format de l'étiquetage des secteurs (les étiquettes sont placées à l'intérieur).

Vous pouvez soit passer une chaîne de format, soit une fonction, cependant, nous nous concentrerons ici sur la chaîne de format. Modifions maintenant notre exemple :

import matplotlib.pyplot as plt
import pandas as pd
population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv')
# Setting the label for each region and its percentage
plt.pie(population_df['Population'], labels=population_df['Region'], autopct='%1.1f%%')
plt.show()
123456
import matplotlib.pyplot as plt import pandas as pd population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv') # Setting the label for each region and its percentage plt.pie(population_df['Population'], labels=population_df['Region'], autopct='%1.1f%%') plt.show()
copy

Chaîne de format

Ici, nous avons passé la chaîne suivante : %1.1f%%. f indique que la valeur doit être traitée comme un nombre à virgule flottante (d indique un entier), et .1 qu'il doit y avoir exactement un chiffre après la virgule décimale.

Les signes de pourcentage spécifient qu'il s'agit d'une chaîne de format et que le nombre doit être suivi du signe pourcentage (%).

Si vous souhaitez explorer plus de paramètres de la méthode .pie(), voici sa documentation pour vous.

Tâche

Swipe to start coding

  1. Utilisez la fonction correcte pour créer un diagramme circulaire.
  2. Utilisez incomes comme données pour le diagramme circulaire (le premier argument).
  3. Définissez les étiquettes sur names via le deuxième argument.
  4. Définissez le format du pourcentage sur un nombre flottant avec un chiffre après la virgule via le troisième argument.

Solution

import matplotlib.pyplot as plt
names = ['person_1', 'person_2', 'person_3', 'person_4']
incomes = [100000, 87000, 150000, 45000]
# Create a pie chart
plt.pie(incomes, labels=names, autopct='%1.1f%%')
plt.show()

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 3
import matplotlib.pyplot as plt
names = ['person_1', 'person_2', 'person_3', 'person_4']
incomes = [100000, 87000, 150000, 45000]
# Create a pie chart
___.___(___, ___=___, ___='___')
plt.show()

Demandez à l'IA

expand
ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt