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

利用Python实现堆叠百分比条形图

发布时间:2023-12-12 04:56:34

要实现堆叠百分比条形图,我们可以使用Python中的matplotlib库来进行绘图。以下是一个使用例子,其中我们将使用matplotlib的pyplot模块来创建堆叠百分比条形图。

首先,我们需要安装matplotlib库。你可以使用以下命令来安装:

pip install matplotlib

接下来,我们需要导入matplotlib和pyplot模块:

import matplotlib.pyplot as plt

假设我们有以下数据:

categories = ['A', 'B', 'C', 'D', 'E']
values1 = [20, 30, 40, 10, 5]
values2 = [5, 10, 15, 5, 30]
values3 = [10, 20, 5, 15, 25]

我们可以使用以下代码来创建堆叠百分比条形图:

total = [sum(values) for values in zip(values1, values2, values3)]
proportions = [[value / total_value * 100 for value in values] for values, total_value in zip(zip(values1, values2, values3), total)]

fig, ax = plt.subplots()

bottom = [0] * len(categories)

for values in proportions:
    ax.bar(categories, values, bottom=bottom)
    bottom = [sum(x) for x in zip(bottom, values)]

ax.set_ylabel('Percentage')
ax.set_xlabel('Categories')
ax.set_title('Stacked Percentage Bar Chart')

plt.show()

在这个例子中,我们首先计算了每个类别的总和,并计算了每个类别所占的百分比。然后,我们使用循环创建和堆叠每个类别的条形图,通过bottom参数来设置每个条形图的底部位置。最后,我们添加了一些标签和标题,并使用plt.show()显示图形。

你可以根据需要调整数据和图表的外观。希望这个例子能帮助你实现堆叠百分比条形图。