我目前正在尝试在 Python 中使用 matplotlib 绘制饼图,除了一个小问题外,所有代码都运行良好。当我计算图中显示的所有百分比的总和时,有时它们加起来不等于 100%(有些总数在 99.8 到 100.1 之间)。我知道这是由于四舍五入导致的,最终减少或增加了额外的部分,但我认为图书馆可以处理这个问题并确保百分比相加。
我试图在网上寻找解决方案,但我唯一发现的是可以通过调用来显示百分比和值(下面的代码)来自定义 autopct,但我不知道如何使用它计算所有百分比的总和,然后添加/删除与最大值的差异。任何帮助或提示将不胜感激。
def my_autopct(values):
total = sum(values)
def my_format(pct):
val = int(round(pct*total/100.0))
return '{p:.1f}% '.format(p=pct)
return my_format