如何在 matplotlib 中创建堆积条形图(附示例)


堆积条形图是一种使用条形来显示不同类别的频率的图表。

我们可以使用matplotlib.pyplot.bar()函数在 Matplotlib 中创建这种类型的图表。

本教程展示了如何在实践中使用此功能。

创建基本的堆积条形图

以下代码展示了如何创建堆积条形图来显示两种产品在四个不同销售季度的总销售额:

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

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

Matplotlib 中的堆积条形图

自定义图表颜色

最后,我们可以使用plt.bar()中的color()参数自定义图表中使用的颜色:

 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 图中删除刻度
如何在 Matplotlib 绘图上显示网格线

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注