Grupperade Stapeldiagram
Ett annat vanligt alternativ är ett grupperat stapeldiagram, där staplarna för varje kategori placeras sida vid sida istället för att staplas ovanpå varandra.
Detta är användbart när du vill jämföra kategorier mellan grupper (som ekonomiska sektorer i olika länder), snarare än inom en total.
Steg för att skapa ett grupperat stapeldiagram
Ange en stapelbredd och skapa en array för x-axelns positioner med
np.arange()
;Kombinera din kategoridata till en 2D-array;
Använd en
for
-loop för att rita varje grupp av staplar med funktionenbar()
, och förskjut deras positioner horisontellt;Anpassa x-axelns tick-positioner och etiketter med
plt.xticks()
.
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()
Hur xticks()
fungerar
Första argumentet flyttar markeringarna till mitten av varje grupp av staplar;
Andra argumentet anger etiketterna med hjälp av listan
countries
.
Denna metod fungerar för valfritt antal kategorier — justera bara width
för att säkerställa att staplarna inte överlappar varandra.
Swipe to start coding
- Skicka rätt array till funktionen
len()
. - Använd rätt funktion för att rita staplar.
- Använd rätt variabel som ska multipliceras med
i
. - Använd rätt variabel som index för
answers
-arrayen. - Skicka rätt variabel som de högra argumenten till plottningsfunktionen.
Lösning
Tack för dina kommentarer!