从饼图获取图例中的百分比 matplotlib 饼图

2024-01-04

我使用下面的 matplotlib 创建了一个饼图:

import matplotlib.pyplot as plt
labels = ['dogs','cats','birds','fish']
sizes = [34, 24,18,13]
pie = plt.pie(sizes,autopct='%1.1f%%', startangle=90)
plt.axis('equal')
plt.legend( loc = 'right', labels=labels)
plt.show()

有没有办法将这些百分比放在图例中,而不是在饼图上显示百分比,以便图例显示为:

狗, 34%

猫, 24%

鸟类, 18%

鱼, 13%

我知道我可以更改“标签”以最快、最优雅的方式阅读上面的内容,但是如果您在代码运行之前不知道“大小”怎么办?


我想当你绘制图例时,你应该知道sizes。像这样的事情会做到这一点:

# use a list comprehension to update the labels
labels = [f'{l}, {s:0.1f}%' for l, s in zip(labels, sizes)]
plt.legend(bbox_to_anchor=(0.85, 1), loc='upper left', labels=labels)
  • 较旧的字符串格式样式
labels = ['%s, %1.1f %%' % (l, s) for l, s in zip(labels, sizes)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从饼图获取图例中的百分比 matplotlib 饼图 的相关文章

随机推荐