Как создать гистограммы с накоплением в Matplotlib (с примерами)

Как создать гистограммы с накоплением в Matplotlib (с примерами)

Столбчатая диаграмма с накоплением — это тип диаграммы, в которой столбцы используются для отображения частоты различных категорий.

Мы можем создать этот тип диаграммы в Matplotlib, используя функцию matplotlib.pyplot.bar() .

В этом руководстве показано, как использовать эту функцию на практике.

Создайте базовую линейчатую диаграмму с накоплением

В следующем коде показано, как создать линейчатую диаграмму с накоплением для отображения общего объема продаж двух продуктов за четыре разных квартала продаж:

import numpy as np
import matplotlib.pyplot as plt

#create data
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.arange (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()
Гистограмма с накоплением в Matplotlib

Добавьте заголовок, метки и легенду

Мы также можем добавить заголовок, метки, деления и легенду, чтобы диаграмму было легче читать:

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.arange (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'))

#display chart
plt.show() 
Гистограмма с накоплением в Matplotlib

Настройка цветов диаграммы

Наконец, мы можем настроить цвета, используемые в диаграмме, с помощью аргумента 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.arange (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'))

#display chart
plt.show() 
Столбчатая гистограмма Matplotlib с пользовательскими цветами

Вы можете найти полный список доступных цветов в документации Matplotlib.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Matplotlib:

Как изменить размер шрифта на графике Matplotlib
Как удалить тики из графиков Matplotlib
Как показать линии сетки на графиках Matplotlib

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.