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

在Python中绘制堆叠柱状图的步骤

发布时间:2023-12-19 05:13:17

在Python中,可以使用Matplotlib库来绘制堆叠柱状图。堆叠柱状图可以用于展示多个类别的数据,比较它们在不同组别之间的关系。下面是绘制堆叠柱状图的步骤及相关示例:

步骤1:导入Matplotlib库和NumPy库

import matplotlib.pyplot as plt
import numpy as np

步骤2:创建数据

categories = ['A', 'B', 'C', 'D']  # 类别
values1 = [20, 35, 30, 25]  # 数据1
values2 = [15, 25, 35, 20]  # 数据2
values3 = [25, 30, 20, 35]  # 数据3

步骤3:计算每个柱子的底部位置

bottom = np.zeros(len(categories))  # 初始底部位置为0

步骤4:绘制堆叠柱状图

plt.bar(categories, values1, bottom=bottom, label='Value 1')
bottom += np.array(values1)  # 上移底部位置
plt.bar(categories, values2, bottom=bottom, label='Value 2')
bottom += np.array(values2)  # 上移底部位置
plt.bar(categories, values3, bottom=bottom, label='Value 3')

步骤5:添加图例和标签

plt.legend()  # 添加图例
plt.xlabel('Category')  # 添加x轴标签
plt.ylabel('Value')  # 添加y轴标签

步骤6:显示图形

plt.show()

完整示例代码如下:

import matplotlib.pyplot as plt
import numpy as np

categories = ['A', 'B', 'C', 'D']  # 类别
values1 = [20, 35, 30, 25]  # 数据1
values2 = [15, 25, 35, 20]  # 数据2
values3 = [25, 30, 20, 35]  # 数据3

bottom = np.zeros(len(categories))  # 初始底部位置为0

plt.bar(categories, values1, bottom=bottom, label='Value 1')
bottom += np.array(values1)  # 上移底部位置
plt.bar(categories, values2, bottom=bottom, label='Value 2')
bottom += np.array(values2)  # 上移底部位置
plt.bar(categories, values3, bottom=bottom, label='Value 3')

plt.legend()  # 添加图例
plt.xlabel('Category')  # 添加x轴标签
plt.ylabel('Value')  # 添加y轴标签

plt.show()

运行上述代码,将生成一个堆叠柱状图,其中横轴为类别,纵轴为值。每个类别有多个数据,颜色不同表示不同的数据。图例显示了每个数据的标签,以便更好地理解图表。

希望这个例子能帮助到你绘制堆叠柱状图。实际应用中,可以根据具体需要调整数据和图表样式来满足需求。如果想要更详细的调整,可以查阅Matplotlib的官方文档。