Matplotlib Kreisdiagramm
Ein Kreisdiagramm ist ein häufig verwendetes Diagramm zur Datenvisualisierung, das den Anteil jeder Kategorie am Gesamten zeigt.
In pyplot können wir diepie()-Methode verwenden, um ein Kreisdiagramm zu zeichnen.
Die Syntax der pie()-Methode lautet wie folgt:
matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, rotatelabels=False, *, normalize=None, data=None)[source]
Parameter description:
-
x: Ein Gleitkomma-Array oder eine Liste, die zum Zeichnen des Kreisdiagramms verwendeten Daten, welche die Fläche jedes Sektors darstellen.
-
explode: Ein Array, das den Abstand zwischen den Sektoren angibt, mit einem Standardwert von 0.
-
labels: Eine Liste, Beschriftungen für jeden Sektor, mit einem Standardwert von None.
-
colors: Ein Array, das die Farben jedes Sektors angibt, mit einem Standardwert von None.
-
autopct: Legt das Format für die Prozentanzeige jedes Sektors im Kreisdiagramm fest,%d%%ganzzahlige Prozentangabe,%0.1feine Dezimalstelle,%0.1f%%Prozentangabe mit einer Dezimalstelle,%0.2f%%Prozentangabe mit zwei Dezimalstellen.
-
labeldistance: Die Zeichenposition der Beschriftungsanmerkungen als Verhältnis relativ zum Radius, mit einem Standardwert von 1.1, wie zum Beispiel<1dann wird es innerhalb des Kreisdiagramms gezeichnet.
-
pctdistance:: Ähnlich wie labeldistance, gibt den Positionsmaßstab von autopct an, mit einem Standardwert von 0.6.
-
shadow:: Boolescher Wert True oder False, legt den Schatten des Kreisdiagramms fest. Standard ist False, d. h. kein Schatten.
-
radius:: Legt den Radius des Kreisdiagramms fest, Standard ist 1.
-
startangle:: Wird verwendet, um den Startwinkel des Kreisdiagramms anzugeben. Standardmäßig zeichnet es gegen den Uhrzeigersinn von der positiven x-Achse aus; wenn es auf 90 gesetzt ist, zeichnet es von der positiven y-Achse aus.
-
counterclock: Boolescher Wert, wird verwendet, um anzugeben, ob Segmente gegen den Uhrzeigersinn gezeichnet werden. Standard ist True, d. h. gegen den Uhrzeigersinn; False ist im Uhrzeigersinn.
- wedgeprops: Dictionary-Typ, Standard ist None. Wird verwendet, um Sektor-Eigenschaften anzugeben, wie Rahmenlinienfarbe, Rahmenlinienbreite usw. Zum Beispiel: wedgeprops={'linewidth':5} legt die Linienbreite des Wedges auf 5 fest.
- textprops: Dictionary-Typ, wird verwendet, um Eigenschaften von Textbeschriftungen anzugeben, wie Schriftgröße, Schriftfarbe usw. Standard ist None.
- center: Liste vom Typ float, wird verwendet, um die Mittelpunktposition des Kreisdiagramms anzugeben. Standard: (0,0).
- frame: Boolescher Typ, wird verwendet, um anzugeben, ob der Rahmen des Kreisdiagramms gezeichnet werden soll. Standard: False. Wenn True, wird der Achsenrahmen zusammen mit dem Diagramm gezeichnet.
- rotatelabels: Boolescher Typ, wird verwendet, um anzugeben, ob Textbeschriftungen gedreht werden sollen. Standard ist False. Wenn True, wird jede Beschriftung auf den angegebenen Winkel gedreht.
-
data: Wird verwendet, um Daten anzugeben. Wenn der Parameter data gesetzt ist, können Spalten im DataFrame direkt als Werte für Parameter wie x und labels verwendet werden, ohne sie erneut übergeben zu müssen.
Zusätzlich kann die Funktion pie() auch drei Parameter zurückgeben:
wedges: Eine Liste, die die Wedge-Objekte enthält.texts: Eine Liste, die Textbeschriftungsobjekte enthält.autotexts: Eine Liste, die automatisch generierte Textbeschriftungsobjekte enthält.
Das folgende Beispiel verwendet einfach pie(), um ein Kuchendiagramm zu erstellen:
Beispiel
import numpy as np
y = np.array([35, 25, 25, 15])
plt.pie(y)
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Legen Sie die Beschriftungen und Farben jedes Sektors des Kuchendiagramms fest:
Beispiel
import numpy as np
y = np.array([35, 25, 25, 15])
plt.pie(y,
labels=['A','B','C','D'], # Beschriftungen des Kuchendiagramms festlegen
colors=["#d5695d", "#5d8ca8", "#5B80A6", "#a564c9"], # Farben des Kuchendiagramms festlegen
)
plt.title("EXAMPLE Pie Test") # Titel festlegen
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Heben Sie den zweiten Sektor hervor und formatieren Sie den Ausgabe-Prozentsatz:
Beispiel
# Daten
sizes = [15, 30, 45, 10]
# Beschriftungen des Kuchendiagramms
labels = ['A', 'B', 'C', 'D']
# Farben des Kuchendiagramms
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']
# Hebe den zweiten Sektor hervor
explode = (0, 0.1, 0, 0)
# Zeichne das Kreisdiagramm
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
autopct='%1.1f%%', shadow=True, startangle=90)
# Titel
plt.title("EXAMPLE Pie Test")
# Zeige das Diagramm an
plt.show()
Wir haben eine Liste sizes mit 4 Elementen definiert, die den Anteil jeder Kategorie am Gesamten darstellt. Dann haben wir eine Liste labels mit 4 Elementen definiert, die die Beschriftungen jeder Kategorie darstellt. Als Nächstes haben wir eine Liste colors mit 4 Elementen definiert, die die Farbe jeder Kategorie darstellt. Dann haben wir ein Tupel explode mit 4 Elementen definiert, das verwendet wird, um anzugeben, ob ein Sektor hervorgehoben werden soll. Als Nächstes haben wir die Funktion plt.pie aufgerufen, um das Kreisdiagramm zu zeichnen, und dabei die oben genannten Parameter übergeben. Schließlich haben wir einen Titel hinzugefügt und plt.show() aufgerufen, um das Diagramm anzuzeigen.
Das angezeigte Ergebnis sieht wie folgt aus:

Beispiel
import numpy as np
y = np.array([35, 25, 25, 15])
plt.pie(y,
labels=['A','B','C','D'], # Beschriftungen des Kuchendiagramms festlegen
colors=["#d5695d", "#5d8ca8", "#5B80A6", "#a564c9"], # Farben des Kuchendiagramms festlegen
explode=(0, 0.2, 0, 0), # Der zweite Teil ist hervorgehoben; je größer der Wert, desto weiter vom Zentrum entfernt
autopct='%.2f%%', # Formatiere den ausgegebenen Prozentsatz
)
plt.title("EXAMPLE Pie Test")
plt.show()

Weitere ErweiterungenHinweis:Standardmäßig wird der erste Sektor von der x-Achse aus gezeichnet und bewegt sich gegen den Uhrzeigersinn:
