Gruppierte Balkendiagramme
Eine weitere gängige Option ist ein gruppiertes Balkendiagramm, bei dem die Balken für jede Kategorie nebeneinander statt gestapelt angeordnet werden.
Dies ist nützlich, wenn Kategorien über Gruppen hinweg verglichen werden sollen (wie Wirtschaftssektoren in verschiedenen Ländern), anstatt innerhalb einer Gesamtsumme.
Schritte zur Erstellung eines gruppierten Balkendiagramms
Balkenbreite festlegen und ein Array für die x-Achsen-Positionen mit
np.arange()
erstellen;Die Kategoriedaten in einem 2D-Array zusammenfassen;
Mit einer
for
-Schleife jede Gruppe von Balken mit der Funktionbar()
zeichnen und deren Positionen horizontal verschieben;Die Positionen und Beschriftungen der x-Achsen-Ticks mit
plt.xticks()
anpassen.
import matplotlib.pyplot as plt import numpy as np # Labels and data countries = ['USA', 'China', 'Japan'] positions = np.arange(len(countries)) primary = np.array([1.4, 4.8, 0.4]) secondary = np.array([11.3, 6.2, 0.8]) tertiary = np.array([14.2, 8.4, 3.2]) # Group the data sectors = np.array([primary, secondary, tertiary]) # Width of each bar width = 0.25 # Plot each group of bars for i in range(len(sectors)): plt.bar(positions + width * i, sectors[i], width) # Center the group of bars and label the ticks plt.xticks(positions + width, countries) plt.show()
Funktionsweise von xticks()
Das erste Argument verschiebt die Achsenmarkierungen in die Mitte jeder Balkengruppe;
Das zweite Argument setzt die Beschriftungen mithilfe der Liste
countries
.
Diese Methode funktioniert für jede Anzahl von Kategorien — passe einfach die width
an, um sicherzustellen, dass sich die Balken nicht überlappen.
Swipe to start coding
- Das korrekte Array an die Funktion
len()
übergeben. - Die richtige Funktion zum Zeichnen von Balken verwenden.
- Die korrekte Variable verwenden, die mit
i
multipliziert werden soll. - Die richtige Variable als Index für das
answers
-Array verwenden. - Die korrekte Variable als rechtesten Parameter der Plot-Funktion übergeben.
Lösung
Danke für Ihr Feedback!