gpt4 book ai didi

python - 如何将条形图值更改为百分比 (Matplotlib)

转载 作者:太空狗 更新时间:2023-10-29 21:00:33 25 4
gpt4 key购买 nike

<分区>

下面的代码生成一个条形图,每个条形上方都有数据标签(见底部图片)。有什么方法可以将 y 轴上的刻度变成百分比(在此图表中,将是 0%、20% 等)?

我设法让每个条形图上方的数据标签通过将条形图高度与“%”连接起来来描述百分比。

import numpy as np
import matplotlib.pyplot as plt

n_groups = 5

Zipf_Values = (100, 50, 33, 25, 20)
Test_Values = (97, 56, 35, 22, 19)

fig, ax = plt.subplots()

index = np.arange(n_groups)
bar_width = 0.35

rects1 = plt.bar(index, Zipf_Values, bar_width, color='g',
label='Zipf', alpha= 0.8)
rects2 = plt.bar(index + bar_width, Test_Values, bar_width, color='y',
label='Test Value', alpha= 0.8)

plt.xlabel('Word')
plt.ylabel('Frequency')
plt.title('Zipf\'s Law: Les Miserables')
plt.xticks(index + bar_width, ('The', 'Be', 'And', 'Of', 'A'))
plt.legend()

for rect in rects1:
height = rect.get_height()
ax.text(rect.get_x() + rect.get_width()/2., 0.99*height,
'%d' % int(height) + "%", ha='center', va='bottom')
for rect in rects2:
height = rect.get_height()
ax.text(rect.get_x() + rect.get_width()/2., 0.99*height,
'%d' % int(height) + "%", ha='center', va='bottom')

plt.tight_layout()
plt.show()

graph

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com