gpt4 book ai didi

python - 使用 matplotlib 创建一个饼图

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:35 24 4
gpt4 key购买 nike

你好,我用 Python 编写了这段代码:

import matplotlib.pyplot as plt

total_a = 0.004095232
total_b = 0.05075945
total_c = 0.005425
total_d = 0.022948572
total_e = 0.015012

slices = [total_a,total_b,total_c,total_d,total_e]
activities = ['a', 'b', 'c', 'd','e']
cols = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue', 'orangered']
plt.pie(slices,labels=activities,autopct='%1.1f%%',colors=cols,startangle=140,shadow=True)
plt.show()

但是当我执行这段代码时我得到了这个:

Pie

我不明白为什么我没有得到一个完整的馅饼?感谢您的帮助!

最佳答案

根据下面 ImportanceOfBeingErnest 的回答以及对 documentation 的解释,plt.py 采用数组输入,只要元素的总和大于 1,就会为您规范化值。

由于您的值总和小于 1,因此数组未标准化。为了规范化自己,您应该使用以下行将每个元素除以列表的最大值:

slices = [aSlice/max(slices) for aSlice in slices]

我会把它放在你的程序里:

import matplotlib.pyplot as plt

total_a = 0.004095232
total_b = 0.05075945
total_c = 0.005425
total_d = 0.022948572
total_e = 0.015012


slices = [total_a,total_b,total_c,total_d,total_e]
slices = [aSlice/max(slices) for aSlice in slices]

activities = ['a', 'b', 'c', 'd','e']
cols = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue', 'orangered']
plt.pie(slices,labels=activities,autopct='%1.1f%%',colors=cols,startangle=140,shadow=True)
plt.show()

对我来说,这会产生这样的图表:

The properly rendered pie chart

关于python - 使用 matplotlib 创建一个饼图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50307071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com