忽略Python饼图绘图中的不可用数据

2024-07-01 08:03:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用以下数据框绘制饼图。 数据相加为0.932,小于1。 因此,饼图产生了“四个”饼

我希望饼图中没有不可用的(1-0.932)饼图。 该图应具有3个PIE,分别为0.62、0.31和0.02。 怎么做?请建议

import pandas as pd
df99 = pd.DataFrame({
    'Data': ['A', 'B', 'C'],
    'Perc': [0.62, 0.31, 0.02]})
df99.plot.pie(y='Perc')

Tags: 数据importdataframepandasdataplotas绘制
1条回答
网友
1楼 · 发布于 2024-07-01 08:03:15

当总和小于1时,pie绘制一个不完整的圆。所以,你可以把这些数字乘以100pie将计算总和为100的百分比;与原始和相除相乘,返回原始数字。Pandasplot.pie不允许进行大量微调,因此在这种情况下,直接调用matplotlib的pie可以使事情变得更简单:

import pandas as pd
import matplotlib.pyplot as plt

df99 = pd.DataFrame({
    'Data': ['A', 'B', 'C'],
    'Perc': [0.62, 0.31, 0.02]})
plt.pie(df99['Perc']*100, labels=df99['Data'],
        autopct=lambda p: f"{p*df99['Perc'].sum()/100:.2f}")
plt.show()

resulting plot

相关问题 更多 >

    热门问题