首页 > 解决方案 > 使用 Matplotlib 在圆环图上显示百分比

问题描述

我有以下代码来生成一个漂亮的圆环图:

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

我没有使用在圆环图中间放一个圆圈的方法 - 这是因为我需要我的绘图内部透明以用于其他目的。

现在,上面的输出如下: 图形

但是,当我更改代码以添加,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()

图2

错误是:

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

我不清楚这是什么,而且我特别困惑的是,我还是有一些输出,只是中间没有洞。任何帮助,将不胜感激!

标签: pythonmatplotlibplotgraphdonut-chart

解决方案


尝试这个:

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

添加会向plt.pieautopct添加另一个返回值,因此我们需要将其分配给某些东西 - 因此是额外的。,_

自动文本:列表

数字标签的 Text 实例列表。仅当参数 autopct 不是 None 时才会返回。

输出:

在此处输入图像描述


推荐阅读