利用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()显示图形。
你可以根据需要调整数据和图表的外观。希望这个例子能帮助你实现堆叠百分比条形图。
