📜  在 Matplotlib 中在条形图上方显示百分比(1)

📅  最后修改于: 2023-12-03 14:51:02.229000             🧑  作者: Mango

在Matplotlib中,我们可以使用annotate函数在条形图的上方显示百分比。这对于可视化数据中的比例或占比非常有用。

要在条形图上方显示百分比,我们需要遵循以下步骤:

1. 导入必要的库

首先,我们需要导入Matplotlib库。通常,我们将其简写为plt。

import matplotlib.pyplot as plt

2. 创建条形图

我们需要创建一个条形图,以显示需要显示百分比的数据。这可以通过调用bar函数来实现。

data = [10, 20, 30, 40, 50]
categories = ['A', 'B', 'C', 'D', 'E']

plt.bar(categories, data)

3. 计算百分比

接下来,我们需要计算每个类别所占的百分比。我们可以使用Python中的sum函数计算总和,并将每个数据点除以总和来获得百分比。

total = sum(data)
percentages = [(d / total) * 100 for d in data]

4. 在条形图上显示百分比

使用annotate函数,我们可以在条形图的上方显示百分比。我们需要为每个条形图添加一个文本标签,并使用字符串格式化将百分比添加到标签中。

for i in range(len(categories)):
    plt.annotate(f'{percentages[i]:.1f}%', (categories[i], data[i]), ha='center', va='bottom')

在这个例子中,我们使用了f-string以及字符串格式化来使百分比显示为一位小数。

参数hava用于设置文本注释的水平和垂直对齐方式,此处我们设置水平居中和垂直向下对齐。

5. 添加标题和标签

最后,我们可以添加标题、x轴和y轴标签以及图例(如果有必要),以完善条形图的显示。

plt.title('Percentage of Data')
plt.xlabel('Categories')
plt.ylabel('Data')
plt.legend(['Data'])

6. 显示图形

最后,我们使用plt.show()函数来显示条形图。

plt.show()

以上就是在Matplotlib中,在条形图上方显示百分比的完整代码段。你可以根据自己的数据和需求来执行这些步骤,以显示适合你的细节的百分比标签。

注意:在使用上面的代码片段时,你需要根据你的实际数据和要显示的类别进行适当的修改。