Как создать гистограммы с накоплением в matplotlib (с примерами)
Гистограмма с накоплением — это тип диаграммы, в которой столбцы используются для отображения частот различных категорий.
Мы можем создать диаграмму этого типа в Matplotlib, используя функцию matplotlib.pyplot.bar() .
В этом уроке показано, как использовать эту функцию на практике.
Создайте базовую гистограмму с накоплением
Следующий код показывает, как создать составную гистограмму для отображения общего объема продаж двух продуктов в четырех разных кварталах продаж:
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 ()
Добавьте заголовок, метки и подпись
Мы также можем добавить заголовок, метки, деления и легенду, чтобы диаграмму было легче читать:
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 ()
Настройка цветов диаграммы
Наконец, мы можем настроить цвета, используемые на диаграмме, с помощью аргумента Colors() в 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.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Matplotlib:
Как изменить размер шрифта на графике Matplotlib
Как убрать галочки с графиков Matplotlib
Как показать линии сетки на графиках Matplotlib