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:
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:
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:
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: