2014-09-03 34 views
1

正如标题已经说明我得到一个TypeError调用下面的方法时:馅饼()得到了一个意想不到的关键字参数“由startAngle”

plt.pie(ylist, labels=xlist, autopct='%1.1f%%', startangle=90, counterclock=False) 
>>> TypeError: pie() got an unexpected keyword argument 'startangle' 

当我离开了startangle我得到一个TypeErrorcounterclock

plt.pie(ylist, labels=xlist, autopct='%1.1f%%', counterclock=False) 
>>> TypeError: pie() got an unexpected keyword argument 'counterclock' 

当我也离开counterclock它工作正常,我得到所需的情节。

但是根据documentation这两个关键字实际存在的,我也检查了我的python-matplotlib库的版本,以达到最新的(这是不可能的,该模块matplotlib.pyplot是OUT- date matplotlib是最新的,是吗?)。顺便说一句,我使用Python 2.7.3。

有人可以解释这个错误吗?

+1

它是什么版本,具体是什么? – 2014-09-03 19:57:54

+0

使用'dpkg -s python-matplotlib | grep'Version'我得到输出'Version:1.1.1〜rc1 + git20120423-0ubuntu1'。 – 2014-09-03 20:09:13

+1

1.1.1甚至没有接近最新的。截至目前的最新版本是[1.4.0](http://matplotlib.org/contents.html)。 – 2014-09-03 20:12:04

回答

2

事实上matplotlib 1.1.x版本的didn't have that

def pie(x, explode=None, labels=None, colors=None, autopct=None, 
     pctdistance=0.6, shadow=False, labeldistance=1.1, hold=None): 

而版本1.4.0 does

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

我移动到一个新的安装,Ubuntu的12.0后,今天上午有同样的问题。 4

最后有效的是:

$pip uninstall matplotlib 
$apt-get remove --purge python-matplotlib 
$wget https://github.com/matplotlib/matplotlib/archive/master.zip 

解压缩,cd到新目录matplotlib主,

$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 

成功!

相关问题