python - 使用 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%%")
添加会向plt.pieautopct
添加另一个返回值,因此我们需要将其分配给某些东西 - 因此是额外的。,_
自动文本:列表
数字标签的 Text 实例列表。仅当参数 autopct 不是 None 时才会返回。
输出:
推荐阅读
- ruby - 如何在 Sinatra 中维护使用 Pony gem 发送的电子邮件状态日志
- python - 自动更新请求授权承载
- windows - 在命令提示符下使用 DEL 批处理文件命令删除后文件去哪了?
- java - 使用 sprinv-mvc 时,OpenAPI Generator 基本路径以 host 为前缀
- html - 用于
- elisp - 如何在emacs lisp中获取字符串中的第二个单词?
- c++ - 尽管命令正确,但程序挂起并进入无限循环
- python - 将 JPG 转换为 H5,加载和绘图
- python - Python 中的替代 time.sleep()
- node.js - nodejs中的readFile异步等待