以下代码用于创建一个饼图,显示每个人从“送货地址名称”列进行的购买数量。 “标签”列表包含每个人的姓名,“购买”列表包含每个人的购买数量。
labels = df['Shipping Address Name'].unique()
purchases = df['Shipping Address Name'].value_counts()
plt.pie(purchases, labels=labels, autopct='%.f')
plt.title('Purchases Per Person')
plt.axis('equal')
return plt.show()
这就是“购买”列表的基本样子:
Lilly 269
Rolf 69
Sandy 11
Dan 2
我试图在饼图中显示购买列表中的值,而不是“autopct=%.f”中的百分比。不确定“autopct”函数执行此操作的最简单方法是什么,因此我们将不胜感激。
最佳答案
尝试通过乘以总购买量来重新计算实际值:
purchases = df['Shipping Address Name'].value_counts()
purchases.plot.pie(autopct=lambda x: '{:.0f}'.format(x*purchases.sum()/100) )
# also
# plt.pie(purchases, autopct=lambda x: '{:.0f}'.format(x*purchases.sum()/100))
输出:
关于python - 如何在 Matplotlib 饼图中显示实际值而不是百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66450790/