首页主机资讯在Matplotlib中如何制作堆叠条形图或百分比条形图

在Matplotlib中如何制作堆叠条形图或百分比条形图

时间2024-06-06 13:14:03发布访客分类主机资讯浏览1096
导读:要制作堆叠条形图或百分比条形图,可以使用Matplotlib的bar函数和bottom参数来实现。下面是一个示例代码: import matplotlib.pyplot as plt # 数据 categories = ['A', 'B'...

要制作堆叠条形图或百分比条形图,可以使用Matplotlib的bar函数和bottom参数来实现。下面是一个示例代码:

import matplotlib.pyplot as plt

# 数据
categories = ['A', 'B', 'C', 'D']
values1 = [20, 35, 30, 25]
values2 = [10, 15, 20, 25]

# 堆叠条形图
plt.bar(categories, values1, label='Value 1')
plt.bar(categories, values2, bottom=values1, label='Value 2')

plt.legend()
plt.show()

在上面的代码中,我们首先定义了两组数据values1和values2,然后使用bar函数分别绘制了两组数据的条形图,并使用bottom参数将第二组数据堆叠在第一组数据上。

如果要将堆叠条形图转换为百分比条形图,只需将每个数据值除以总和,并乘以100。下面是一个示例代码:

import matplotlib.pyplot as plt

# 数据
categories = ['A', 'B', 'C', 'D']
values1 = [20, 35, 30, 25]
values2 = [10, 15, 20, 25]

# 计算百分比数据
total = [v1 + v2 for v1, v2 in zip(values1, values2)]
percent_values1 = [v1 / t * 100 for v1, t in zip(values1, total)]
percent_values2 = [v2 / t * 100 for v2, t in zip(values2, total)]

# 百分比条形图
plt.bar(categories, percent_values1, label='Value 1', color='blue')
plt.bar(categories, percent_values2, bottom=percent_values1, label='Value 2', color='red')

plt.legend()
plt.show()

在上面的代码中,我们首先计算了每组数据的百分比值,然后使用bar函数绘制了百分比条形图。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 在Matplotlib中如何制作堆叠条形图或百分比条形图
本文地址: https://pptw.com/jishu/676410.html
免费香港云主机 在Matplotlib中如何设置轴的范围和比例

游客 回复需填写必要信息