使用Matplotlib在圆环图上显示百分比

2024-06-25 22:51:01 发布

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

我有以下代码来生成一个漂亮的油炸圈饼图:

%matplotlib inline
import matplotlib.pyplot as plt

size_of_groups=[12,11,30,3]

colors = ['#F92969','#FACA0C','#17C37B','#D9DFEB']

my_pie,_ = plt.pie(size_of_groups,radius = 1.2,colors=colors)

plt.setp(my_pie, width=0.6, edgecolor='white') # 

plt.show()

我不是在油炸圈饼图中间放一个圆的方法,这是因为我需要我的图的内部是透明的。你知道吗

现在,上面的输出是: graph

但是,当我更改代码以添加,autopct="%.1f%%"行时,它会中断,但会输出一个带有标签的饼图(尽管不是甜甜圈):

%matplotlib inline
import matplotlib.pyplot as plt

size_of_groups=[12,11,30,3]

colors = ['#F92969','#FACA0C','#17C37B','#D9DFEB']

my_pie,_ = plt.pie(size_of_groups,radius = 1.2,colors=colors,autopct="%.1f%%")

plt.setp(my_pie, width=0.6, edgecolor='white') # 

plt.show()

graph2

错误是:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-39-ada97a3edee3> in <module>
     13 
     14 # Create a pieplot
---> 15 my_pie,_ = plt.pie(size_of_groups,radius = 1.2,colors=colors,autopct="%.1f%%")
     16 
     17 #,autopct="%.1f%%"

ValueError: too many values to unpack (expected 2)

我不清楚这是什么,我特别迷惑,我有一些输出无论如何,只是没有在中心的洞。任何帮助都将不胜感激!你知道吗


Tags: of代码importsizematplotlibmyinlineplt
1条回答
网友
1楼 · 发布于 2024-06-25 22:51:01

试试这个:

my_pie,_,_ = plt.pie(size_of_groups,radius = 1.2,colors=colors,autopct="%.1f%%")

添加autopct会将另一个返回值添加到plt.pie,因此我们需要将它赋给某个对象—因此需要额外的,_。你知道吗

autotexts : list

A list of Text instances for the numeric labels. This will only be returned if the parameter autopct is not None.

输出:

enter image description here

相关问题 更多 >