使用 Matplotlib 在圆环图上显示百分比
Showing Percentages on Donut Chart using 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()
错误是:
---------------------------------------------------------------------------
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 添加另一个 return 值,因此我们需要将其分配给某些东西 - 因此需要额外的 ,_
.
autotexts : list
A list of Text instances for the numeric labels. This will only be returned if the parameter autopct is not None.
输出:
我有以下代码来生成漂亮的圆环图:
%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()
错误是:
---------------------------------------------------------------------------
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 添加另一个 return 值,因此我们需要将其分配给某些东西 - 因此需要额外的 ,_
.
autotexts : list
A list of Text instances for the numeric labels. This will only be returned if the parameter autopct is not None.
输出: