欢迎访问宙启技术站
智能推送

使用Matplotlib库在Python中绘制带有边框的堆叠柱状图

发布时间:2023-12-27 19:51:11

在Python中使用Matplotlib库可以很容易地绘制带有边框的堆叠柱状图。堆叠柱状图是一种用来展示多个类别的数据在一个整体中的柱状图形式。每个类别数据由堆叠在一起的柱子表示,柱子的高度表示该类别数据的数量或比例。带有边框的堆叠柱状图可以更加清晰地展示每个类别的数据,并且便于比较。

下面是一个使用Matplotlib库绘制带有边框的堆叠柱状图的例子:

首先,导入所需的库:

import matplotlib.pyplot as plt
import numpy as np

然后,定义一些示例数据:

categories = ['A', 'B', 'C', 'D', 'E']  # 类别名称
data1 = [20, 30, 25, 35, 27]  #       组数据
data2 = [15, 25, 20, 30, 22]  # 第二组数据
data3 = [10, 20, 15, 25, 17]  # 第三组数据

接下来,计算每个类别的堆叠高度和y轴位置:

total = np.add(np.add(data1, data2), data3)  # 总高度
ind = np.arange(len(categories))  # x轴位置
width = 0.35  # 柱子宽度

然后,使用Matplotlib库绘制带有边框的堆叠柱状图:

# 绘制      组柱子
plt.bar(ind, data1, width, edgecolor='black', label='Data 1')
# 绘制第二组柱子
plt.bar(ind, data2, width, bottom=data1, edgecolor='black', label='Data 2')
# 绘制第三组柱子
plt.bar(ind, data3, width, bottom=np.add(data1, data2), edgecolor='black', label='Data 3')

# 添加x轴和y轴标签
plt.xlabel('Categories')
plt.ylabel('Count')

# 添加图例
plt.legend()

# 添加刻度标签
plt.xticks(ind, categories)

# 添加标题
plt.title('Stacked Bar Chart with Border')

# 显示图形
plt.show()

运行以上代码,就可以生成一个带有边框的堆叠柱状图。其中,plt.bar函数用于绘制柱子,edgecolor参数用于设置柱子的边框颜色,label参数用于添加图例,plt.xlabelplt.ylabel函数用于添加x轴和y轴标签,plt.legend函数用于添加图例,plt.xticks函数用于设置x轴刻度标签,plt.title函数用于添加标题。

带有边框的堆叠柱状图可以直观地比较多个类别的数据,并且加上边框后更加清晰明了。通过使用Matplotlib库,我们可以很容易地绘制这样的图形,并且通过调整参数可以实现各种个性化的定制。