pie() 收到意外的关键字参数 'startangle
正如标题所说,我在调用以下方法时遇到了一个 TypeError
错误:
plt.pie(ylist, labels=xlist, autopct='%1.1f%%', startangle=90, counterclock=False)
>>> TypeError: pie() got an unexpected keyword argument 'startangle'
当我不写 startangle
时,我又遇到了一个关于 counterclock
的 TypeError
错误:
plt.pie(ylist, labels=xlist, autopct='%1.1f%%', counterclock=False)
>>> TypeError: pie() got an unexpected keyword argument 'counterclock'
但如果我同时不写 counterclock
,那就没问题了,能正常显示我想要的图。
不过根据 文档,这两个参数确实是存在的。我也检查过我的 python-matplotlib 库是最新的(不可能 matplotlib.pyplot 过时,而 matplotlib 是最新的,对吧?)。顺便说一下,我使用的是 Python 2.7.3。
有人能解释一下这个错误吗?
2 个回答
2
今天早上我在新安装的Ubuntu 12.0.4上遇到了同样的问题。
最后解决办法是:
$pip uninstall matplotlib
$apt-get remove --purge python-matplotlib
$wget https://github.com/matplotlib/matplotlib/archive/master.zip
解压缩文件,然后进入新目录matplotlib-master,
$python setup.py build
$python setup.py install
接着用pip检查一下:
$pip show matplotlib
Name: matplotlib
Version: 1.4.0
Location: /usr/local/lib/python2.7/dist-packages
Requires: numpy, six, python-dateutil, pyparsing, nose, mock, nose, mock
成功了!
3
确实,matplotlib的1.1.x版本没有这个功能:
def pie(x, explode=None, labels=None, colors=None, autopct=None,
pctdistance=0.6, shadow=False, labeldistance=1.1, hold=None):
而1.4.0版本是有的:
def pie(x, explode=None, labels=None, colors=None, autopct=None,
pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None,
radius=None, counterclock=True, wedgeprops=None, textprops=None,
hold=None)