Grupperte Stolpediagrammer
Et annet vanlig alternativ er et gruppert stolpediagram, hvor stolpene for hver kategori plasseres side om side i stedet for å stables.
Dette er nyttig når du ønsker å sammenligne kategorier på tvers av grupper (for eksempel økonomiske sektorer i ulike land), i stedet for innenfor én total.
Fremgangsmåte for å lage et gruppert stolpediagram
Angi en stolpebredde og opprett et array for x-akseposisjoner med
np.arange()
;Kombiner kategoridataene dine i et 2D-array;
Bruk en
for
-løkke for å tegne hver gruppe med stolper medbar()
-funksjonen, og forskyv posisjonene horisontalt;Tilpass x-akseposisjonene og etikettene 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()
Hvordan xticks()
fungerer
Første argument flytter avmerkingslinjene til midten av hver gruppe med stolper;
Andre argument setter etikettene ved å bruke listen
countries
.
Denne metoden fungerer for et hvilket som helst antall kategorier — juster bare width
for å sikre at stolpene ikke overlapper.
Swipe to start coding
- Send riktig array til funksjonen
len()
. - Bruk riktig funksjon for å tegne stolpediagrammer.
- Bruk riktig variabel som skal multipliseres med
i
. - Bruk riktig variabel som indeks for
answers
-arrayen. - Send riktig variabel som de siste argumentene til plottingsfunksjonen.
Løsning
Takk for tilbakemeldingene dine!