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

标签 python matplotlib plot graph donut-chart

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

%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%%" 行时,它会中断,但无论如何都会输出带有标签的饼图(尽管不是 donut ):

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

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

最佳答案

试试这个:

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

关于python - 使用 Matplotlib 在圆环图上显示百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59032430/

相关文章:

python - 自定义用户模型字段(AbstractUser)未显示在 django admin 中

python - 创建一个行为类似于任何变量但在更改/读取时具有回调的类

python - 如何让 PyC​​harm 呈现我创建的图表而不是绘图对象?

python - 需要 py-upset 帮助吗?

python - 将刚性 ODE 与 Python 集成

python - 如何使用 torchaudio 反转 MelSpectrogram 并获得音频波形?

python - 如何绘制 seaborn ridge plot

python - 从 matplotlib 中显示的图中获取数据并将其传递给概率密度函数

python - 如何使用 Python 中的 numpy 和 matplotlib 在 Python 中的曲线内部绘制切线圆?

python - 立即绘制和 Matplotlib