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 ()
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 ()
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 ()
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