Seaborn-Kreisdiagramm

Ammar Ali 18 April 2022
Seaborn-Kreisdiagramm

In diesem Tutorial wird die Erstellung eines Tortendiagramms mit dem Tortenattribut von Matplotlib und den Farbpaletten von Seaborn besprochen.

Erstellen ein Kreisdiagramm in Seaborn

Das Tortendiagramm stellt Daten in einem kreisförmigen Diagramm dar, das Segmente in verschiedenen Farben enthält. Die Größe der einzelnen Segmente in einem Tortendiagramm hängt vom Anteil der numerischen Daten ab.

Das Tortendiagramm wird verwendet, um den Anteil numerischer Daten zu untersuchen. Es zeigt den Anteil der Daten als Prozentsatz des Ganzen. Wenn eine Größe einen höheren numerischen Anteil an bestimmten Daten hat, sind ihre Slice-Größe und ihr Prozentsatz größer als die anderen Slices im Tortendiagramm.

Wenn wir mit Seaborn in Python ein Tortendiagramm erstellen wollen, müssen wir das Tortenattribut von Matplotlib und die Farbpaletten von Seaborn verwenden. Wir müssen die Eingabedaten und die Farbpalette übergeben, um ein Tortendiagramm zu erstellen.

Lassen Sie uns beispielsweise ein Tortendiagramm mit zufälligen Daten erstellen. Siehe Code unten.

import matplotlib.pyplot as plt
import seaborn as sns

data = [35, 21, 29, 39, 11]
colors = sns.color_palette("pastel")
plt.pie(data, colors=colors)
plt.show()

Ausgabe:

Kreisdiagramm mit Seaborn

Im obigen Code haben wir die Pastellfarbpalette von Seaborn verwendet, aber wir können die Farbpalette nach Belieben ändern. Seaborn bietet viele Farbpalettenoptionen wie tief, gedämpft, farbenblind, hell und dunkel.

Wir müssen die Farbpalette als String innerhalb des Attributs color_palette() übergeben. Das Tortenattribut hat viele Parameter, die wir ändern können, wie das Hinzufügen von Beschriftungen zum Kreisdiagramm mithilfe eines Arrays von Zeichenketten, die die Namen der Beschriftungen enthalten.

Wir können auch Text innerhalb der Slices hinzufügen, indem wir den Parameter autopct verwenden. Lassen Sie uns beispielsweise das obige Tortendiagramm besser lesbar machen, indem wir Beschriftungen hinzufügen, die Farbpalette ändern und den Slice-Prozentsatz in jedem Slice hinzufügen. Siehe Code unten.

import matplotlib.pyplot as plt
import seaborn as sns

data = [35, 21, 29, 39, 11]
labels = ["slice 1", "slice 2", "slice 3", "slice 4", "slice 5"]
colors = sns.color_palette("bright")
plt.pie(data, labels=labels, colors=colors, autopct="%0.0f%%")
plt.show()

Ausgabe:

Ändern der Eigenschaften des Tortendiagramms

Wir können jedem Slice beliebigen Text hinzufügen, aber wir haben in diesem Beispiel den Prozentsatz der einzelnen Daten hinzugefügt. Wir können auch den Abstand des Textes in jedem Slice festlegen. Standardmäßig beträgt der Textabstand 0,6, aber wir können ihn mit dem Parameter pctdistance ändern.

Wir können den Etikettenabstand auch mit dem Parameter labeldistance einstellen. Standardmäßig ist der Etikettenabstandswert 1,1, aber wir können ihn in einen beliebigen Fließkommawert ändern. Wenn wir zwischen den einzelnen Slices Platz schaffen möchten, damit es einen gewissen Versatz gibt, können wir dies mit dem Explodieren-Parameter tun.

Der Wert des Explosionsparameters sollte ein Array mit der gleichen Länge wie die Eingabedaten sein. Lassen Sie uns zum Beispiel einen gewissen Versatz zwischen jedem Segment des obigen Kreisdiagramms hinzufügen. Siehe Code unten.

import matplotlib.pyplot as plt
import seaborn as sns

data = [35, 21, 29, 39, 11]
explode = [0.3, 0.02, 0.02, 0.02, 0.02]
labels = ["slice 1", "slice 2", "slice 3", "slice 4", "slice 5"]
colors = sns.color_palette("bright")
plt.pie(data, labels=labels, colors=colors, autopct="%0.0f%%", explode=explode)
plt.show()

Ausgabe:

Versatz zwischen Segmenten des Tortendiagramms

Mit dem Schattenparameter können wir auch Schatten unter das Tortendiagramm zeichnen. Standardmäßig ist der Shadow-Parameter auf false gesetzt, aber wir können ihn auf true setzen. Standardmäßig beginnt Slice One bei 0 Grad, aber wir können dies ändern, indem wir den Parameter startangle verwenden und seinen Wert auf einen beliebigen Gleitkommawert setzen.

Standardmäßig beginnen die Slices an der x-Achse und folgen der Richtung gegen den Uhrzeigersinn, aber wir können sie im Uhrzeigersinn einstellen, indem wir den Parameterwert auf false setzen. Wir können auch die Eigenschaften des im Tortendiagramm vorhandenen Textes, wie Schriftgröße oder Farbe, mit dem Argument textprops festlegen.

Wir können auch die Eigenschaften des Keils oder der Slices wie ihre Linienbreite mit dem Parameter wedgeprops einstellen. Standardmäßig ist der Rahmen auf false gesetzt, weshalb wir den Rahmen nicht sehen können, aber wir können ihn mit dem Parameter frame auf true setzen.

Standardmäßig liegt die Mitte des Tortendiagramms bei 0, aber wir können sie mit dem Center-Parameter auf einen beliebigen Wert ändern. Wir können die Labels auch in Richtung des Slice drehen, indem wir den Parameter rotatelabel verwenden und seinen Wert auf true setzen.

Lassen Sie uns zum Beispiel die oben erwähnten Parameter des Tortendiagramms ändern. Siehe Code unten.

import matplotlib.pyplot as plt
import seaborn as sns

data = [35, 21, 29, 39, 11]
explode = [0.3, 0.02, 0.02, 0.02, 0.02]
labels = ["slice 1", "slice 2", "slice 3", "slice 4", "slice 5"]
colors = sns.color_palette("bright")
plt.pie(
    data,
    labels=labels,
    colors=colors,
    autopct="%0.0f%%",
    explode=explode,
    shadow="True",
    startangle=90,
    textprops={"color": "Green", "fontsize": 16},
    wedgeprops={"linewidth": 6},
    frame="true",
    center=(0.1, 0.1),
    rotatelabels="true",
)
plt.show()

Ausgabe:

Ändern von Parameterwerten des Tortendiagramms

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - Seaborn Plot