Hoe gestapelde staafdiagrammen te maken in matplotlib (met voorbeelden)


Een gestapeld staafdiagram is een soort diagram dat balken gebruikt om frequenties van verschillende categorieën weer te geven.

We kunnen dit type diagram in Matplotlib maken met behulp van de functie matplotlib.pyplot.bar() .

Deze tutorial laat zien hoe u deze functie in de praktijk kunt gebruiken.

Maak een eenvoudig gestapeld staafdiagram

De volgende code laat zien hoe u een gestapeld staafdiagram maakt om de totale verkoop van twee producten in vier verschillende verkoopkwartalen weer te geven:

 import numpy as np
import matplotlib.pyplot as plt

#createdata
quarter = ['Q1', 'Q2', 'Q3', 'Q4']
product_A = [14, 17, 12, 9]
product_B = [7, 15, 24, 18]

#define chart parameters
N = 4 
barWidth = .5
xloc = np. orange (N)

#display stacked bar chart
p1 = plt. bar (xloc, product_A, width=barWidth)
p2 = plt. bar (xloc, product_B, bottom=product_A, width=barWidth)
plt. show ()

Gestapeld staafdiagram in Matplotlib

Voeg een titel, labels en bijschrift toe

We kunnen ook een titel, labels, maatstreepjes en legenda toevoegen om het diagram gemakkelijker leesbaar te maken:

 import numpy as np
import matplotlib.pyplot as plt

#create data for two teams
quarter = ['Q1', 'Q2', 'Q3', 'Q4']
product_A = [14, 17, 12, 9]
product_B = [7, 15, 24, 18]

#define chart parameters
N = 4 
barWidth = .5
xloc = np. orange (N)

#create stacked bar chart
p1 = plt. bar (xloc, product_A, width=barWidth)
p2 = plt. bar (xloc, product_B, bottom=product_A, width=barWidth)

#add labels, title, tick marks, and legend
plt. ylabel ('Sales')
plt. xlabel ('Quarter')
plt. title ('Sales by Product & Quarter')
plt. xticks (xloc, ('Q1', 'Q2', 'Q3', 'Q4'))
plt. yticks (np. arange (0, 41, 5))
plt. legend ((p1[0], p2[0]), ('A', 'B'))

#displaychart
plt. show () 

Gestapeld staafdiagram in Matplotlib

Pas de diagramkleuren aan

Ten slotte kunnen we de kleuren die in de grafiek worden gebruikt aanpassen met het argument Colors() in plt.bar() :

 import numpy as np
import matplotlib.pyplot as plt

#create data for two teams
quarter = ['Q1', 'Q2', 'Q3', 'Q4']
product_A = [14, 17, 12, 9]
product_B = [7, 15, 24, 18]

#define chart parameters
N = 4 
barWidth = .5
xloc = np. orange (N)

#create stacked bar chart
p1 = plt. bar (xloc, product_A, width=barWidth, color=' springgreen ')
p2 = plt. bar (xloc, product_B, bottom=product_A, width=barWidth, color=' coral ')

#add labels, title, tick marks, and legend
plt. ylabel ('Sales')
plt. xlabel ('Quarter')
plt. title ('Sales by Product & Quarter')
plt. xticks (xloc, ('Q1', 'Q2', 'Q3', 'Q4'))
plt. yticks (np. arange (0, 41, 5))
plt. legend ((p1[0], p2[0]), ('A', 'B'))

#displaychart
plt. show () 

Matplotlib gestapeld staafdiagram met aangepaste kleuren

U kunt een volledige lijst met beschikbare kleuren vinden in de Matplotlib- documentatie .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in Matplotlib kunt uitvoeren:

Hoe de lettergrootte op een Matplotlib-plot te wijzigen
Hoe teken uit Matplotlib-plots te verwijderen
Hoe rasterlijnen op Matplotlib-plots worden weergegeven

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert