python - 如何在 Matplotlib 饼图中显示实际值而不是百分比

标签 python pandas matplotlib pie-chart

以下代码用于创建一个饼图,显示每个人从“送货地址名称”列进行的购买数量。 “标签”列表包含每个人的姓名,“购买”列表包含每个人的购买数量。

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))

输出:

enter image description here

关于python - 如何在 Matplotlib 饼图中显示实际值而不是百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66450790/

相关文章:

python - 如何使用 matplotlib 在两个环之间填充

python - 如何从字符串中提取数据

python - 使用 Matplotlib 绘制具有多个 x 和 y 轴的图形

Python Pandas Vlookup

python - sqlalchemy.exc.InvalidRequestError : Could not reflect: requested table(s) not available in Engine

python - Matplotlib:更改文本中的字体大小 "midway"

python - 在 cx 卡住中制作 msi - reportlab 中的模块

python - Keras Conv2D 解码器

python - 在 scipy chisquare : Don't know why? 中获取 p 值的 nan

python - 如何删除 Axes3D 类中的轴?