Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Gruppierte Balkendiagramme | Erstellen Häufig Verwendeter Diagramme
Ultimative Visualisierung mit Python
course content

Kursinhalt

Ultimative Visualisierung mit Python

Ultimative Visualisierung mit Python

1. Einführung in Matplotlib
2. Erstellen Häufig Verwendeter Diagramme
3. Anpassung von Plots
4. Mehr Statistische Diagramme
5. Visualisierung mit Seaborn

book
Gruppierte Balkendiagramme

Im vorherigen Kapitel haben wir ein gestapeltes Balkendiagramm verwendet, um mehrere Kategorien für jeden Wert auf der x-Achse zu vergleichen. Es gibt jedoch eine andere Möglichkeit, diese Aufgabe zu erfüllen, indem man ein gruppiertes Balkendiagramm verwendet. Es ermöglicht uns, solche Daten zu visualisieren, indem Balken an den Seiten anderer Balken platziert werden, anstatt sie übereinander zu stapeln.

Hier sind die Schritte, um dies zu erreichen:

  1. Beginnen Sie mit der Angabe der Balkenbreite und erstellen Sie ein Array von x-Achsen-Koordinaten (Sie können np.arange() dafür verwenden);

  2. Erstellen Sie ein zweidimensionales Array, um die Arrays für jede Kategorie zu halten;

  3. Verwenden Sie eine for-Schleife, um die bar()-Funktion mehrmals aufzurufen, einmal für jede Kategorie (z.B. dreimal für drei Kategorien).

Schauen wir uns ein Beispiel an:

12345678910111213141516
import matplotlib.pyplot as plt import numpy as np countries = ['USA', 'China', 'Japan'] positions = np.arange(len(countries)) primary_sector = np.array([1.4, 4.8, 0.4]) secondary_sector = np.array([11.3, 6.2, 0.8]) tertiary_sector = np.array([14.2, 8.4, 3.2]) sectors = np.array([primary_sector, secondary_sector, tertiary_sector]) # Setting the width of the bars width = 0.3 for i in range(len(sectors)): # Plotting the bars for each category (sector) plt.bar(positions + width * i, sectors[i], width) # Setting the x-axis ticks position and labels plt.xticks(positions + width * (len(sectors) - 1) / 2, countries) plt.show()
copy

Die Funktion xticks() passt die x-Achse auf folgende Weise an:

  • Das erste Argument positions + width * (len(sectors) - 1) / 2 ist ein Array von x-Achsen-Koordinaten, die die Mittelpunkte der Balkengruppen darstellen;

  • Das zweite Argument liefert Labels (Namen) für diese x-Achsen-Ticks, unter Verwendung des Arrays countries.

Hinweis

Der Code in unserem Beispiel ist ziemlich flexibel und funktioniert für eine beliebige Anzahl von Kategorien (Sie müssen möglicherweise nur width anpassen, um Überlappungen zu vermeiden).

Aufgabe

Swipe to start coding

  1. Übergeben Sie das korrekte Array an die Funktion len().
  2. Verwenden Sie die korrekte Funktion, um Balken zu zeichnen.
  3. Verwenden Sie die korrekte Variable, die mit i multipliziert werden soll.
  4. Verwenden Sie die korrekte Variable als Index für das answers-Array.
  5. Übergeben Sie die korrekte Variable als die rechten Argumente der Plot-Funktion.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 6
toggle bottom row

book
Gruppierte Balkendiagramme

Im vorherigen Kapitel haben wir ein gestapeltes Balkendiagramm verwendet, um mehrere Kategorien für jeden Wert auf der x-Achse zu vergleichen. Es gibt jedoch eine andere Möglichkeit, diese Aufgabe zu erfüllen, indem man ein gruppiertes Balkendiagramm verwendet. Es ermöglicht uns, solche Daten zu visualisieren, indem Balken an den Seiten anderer Balken platziert werden, anstatt sie übereinander zu stapeln.

Hier sind die Schritte, um dies zu erreichen:

  1. Beginnen Sie mit der Angabe der Balkenbreite und erstellen Sie ein Array von x-Achsen-Koordinaten (Sie können np.arange() dafür verwenden);

  2. Erstellen Sie ein zweidimensionales Array, um die Arrays für jede Kategorie zu halten;

  3. Verwenden Sie eine for-Schleife, um die bar()-Funktion mehrmals aufzurufen, einmal für jede Kategorie (z.B. dreimal für drei Kategorien).

Schauen wir uns ein Beispiel an:

12345678910111213141516
import matplotlib.pyplot as plt import numpy as np countries = ['USA', 'China', 'Japan'] positions = np.arange(len(countries)) primary_sector = np.array([1.4, 4.8, 0.4]) secondary_sector = np.array([11.3, 6.2, 0.8]) tertiary_sector = np.array([14.2, 8.4, 3.2]) sectors = np.array([primary_sector, secondary_sector, tertiary_sector]) # Setting the width of the bars width = 0.3 for i in range(len(sectors)): # Plotting the bars for each category (sector) plt.bar(positions + width * i, sectors[i], width) # Setting the x-axis ticks position and labels plt.xticks(positions + width * (len(sectors) - 1) / 2, countries) plt.show()
copy

Die Funktion xticks() passt die x-Achse auf folgende Weise an:

  • Das erste Argument positions + width * (len(sectors) - 1) / 2 ist ein Array von x-Achsen-Koordinaten, die die Mittelpunkte der Balkengruppen darstellen;

  • Das zweite Argument liefert Labels (Namen) für diese x-Achsen-Ticks, unter Verwendung des Arrays countries.

Hinweis

Der Code in unserem Beispiel ist ziemlich flexibel und funktioniert für eine beliebige Anzahl von Kategorien (Sie müssen möglicherweise nur width anpassen, um Überlappungen zu vermeiden).

Aufgabe

Swipe to start coding

  1. Übergeben Sie das korrekte Array an die Funktion len().
  2. Verwenden Sie die korrekte Funktion, um Balken zu zeichnen.
  3. Verwenden Sie die korrekte Variable, die mit i multipliziert werden soll.
  4. Verwenden Sie die korrekte Variable als Index für das answers-Array.
  5. Übergeben Sie die korrekte Variable als die rechten Argumente der Plot-Funktion.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 6
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt