首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

百分比注解Matplotlib条并排显示

百分比注解(Matplotlib Percentage Annotation)是Matplotlib库中的一个功能,用于在条形图中显示每个条形的百分比值。它可以帮助我们更直观地理解数据的比例关系。

在Matplotlib中,可以使用annotate()函数来添加注解。对于百分比注解,我们可以先计算每个条形的百分比值,然后使用annotate()函数将百分比值添加到相应的条形上。

以下是一个示例代码,演示如何使用百分比注解在Matplotlib中实现条形图的并排显示:

代码语言:txt
复制
import matplotlib.pyplot as plt

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

# 计算百分比
total1 = sum(values1)
total2 = sum(values2)
percentages1 = [value/total1*100 for value in values1]
percentages2 = [value/total2*100 for value in values2]

# 绘制条形图
fig, ax = plt.subplots()
bar_width = 0.35
index = range(len(categories))

rects1 = ax.bar(index, values1, bar_width, label='Group 1')
rects2 = ax.bar([i + bar_width for i in index], values2, bar_width, label='Group 2')

# 添加百分比注解
for i, rect in enumerate(rects1):
    ax.annotate(f'{percentages1[i]:.1f}%', xy=(rect.get_x() + rect.get_width() / 2, rect.get_height()), xytext=(0, 3),
                textcoords="offset points", ha='center', va='bottom')

for i, rect in enumerate(rects2):
    ax.annotate(f'{percentages2[i]:.1f}%', xy=(rect.get_x() + rect.get_width() / 2, rect.get_height()), xytext=(0, 3),
                textcoords="offset points", ha='center', va='bottom')

# 设置图例和标签
ax.set_xlabel('Categories')
ax.set_ylabel('Values')
ax.set_title('Bar Chart with Percentage Annotation')
ax.set_xticks([i + bar_width / 2 for i in index])
ax.set_xticklabels(categories)
ax.legend()

plt.show()

这段代码首先定义了两组数据,分别是categories和values1、values2。然后通过计算每个条形的百分比值,得到percentages1和percentages2。接下来使用bar()函数绘制了两组并排的条形图。最后,使用annotate()函数将百分比值添加到每个条形上。

这是一个简单的示例,你可以根据自己的需求进行修改和扩展。如果你想了解更多关于Matplotlib的信息,可以参考腾讯云的Matplotlib产品介绍页面:Matplotlib产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券