Jak tworzyć skumulowane wykresy słupkowe w matplotlib (z przykładami)
Skumulowany wykres słupkowy to rodzaj wykresu, który wykorzystuje słupki do przedstawienia częstotliwości różnych kategorii.
Wykres tego typu możemy stworzyć w Matplotlib za pomocą funkcji matplotlib.pyplot.bar() .
W tym samouczku pokazano, jak korzystać z tej funkcji w praktyce.
Utwórz podstawowy skumulowany wykres słupkowy
Poniższy kod pokazuje, jak utworzyć skumulowany wykres słupkowy przedstawiający całkowitą sprzedaż dwóch produktów w czterech różnych kwartałach sprzedaży:
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 ()
Dodaj tytuł, etykiety i podpis
Możemy także dodać tytuł, etykiety, znaczniki i legendę, aby ułatwić czytanie wykresu:
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 ()
Dostosuj kolory wykresów
Na koniec możemy dostosować kolory używane na wykresie za pomocą argumentu kolory() w 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 ()
Pełną listę dostępnych kolorów znajdziesz w dokumentacji Matplotlib.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w Matplotlib:
Jak zmienić rozmiar czcionki na wykresie Matplotlib
Jak usunąć znaczniki z wykresów Matplotlib
Jak wyświetlić linie siatki na wykresach Matplotlib