matplotlib中的图例句柄的基本示例中的typeerror
我很难理解图例处理。从官方matplotlib legend guidematplotlib中的图例句柄的基本示例中的typeerror
import matplotlib.pyplot as plt
line_up, = plt.plot([1,2,3], label='Line 2')
line_down, = plt.plot([3,2,1], label='Line 1')
plt.legend(handles=[line_up, line_down])
越多,基本的例子失败,TypeError: __init__() got multiple values for keyword argument 'handles'
。
我在做什么错?有任何想法吗?
我的matplotlib版本是1.3.1
。我在Ubuntu 14.04 ..
以下是完整的回溯(与在python脚本上面的线)
[email protected]:bauHS15_iomapsgenpod$ python testleg.py
Traceback (most recent call last):
File "testleg.py", line 4, in <module>
plt.legend(handles=[line_up, line_down])
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 3381, in legend
ret = gca().legend(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 4778, in legend
self.legend_ = mlegend.Legend(self, handles, labels, **kwargs)
TypeError: __init__() got multiple values for keyword argument 'handles'
只是删除handles
关键字
使用它这样的:
import matplotlib.pyplot as plt
line_up, = plt.plot([1,2,3], label='Line 2')
line_down, = plt.plot([3,2,1], label='Line 1')
plt.legend([line_up, line_down])
我和Jan有同样的问题,在Ubuntu 14.04上运行Matplotlib 1.3.1。我试着Kobi K发布的答案。他的代码没有提出任何错误。但是,图例并没有正确显示: 我升级到Matplotlib 1.5.1,现在可以使用Jan发布的代码正确渲染图例,其中包括'句柄'关键字(即代码出现在Matplotlib legend guide ):
不是我所知道的。增加声誉不应该花太长时间。我发现你试图提供帮助,但是a)“答案”不符合答案政策,为什么我提出了建议,b)现在似乎没有办法删除我的评论它已经进入了,c)另外两个人提出了相同的建议,但不够好留言。 – 2016-07-12 21:23:09
我已删除我的评论,并提出了您的答案。 – 2016-07-14 17:58:49
也就是说奇...你能张贴_full_追溯? – tacaswell 2014-08-29 01:09:54
当然,我已经将它添加到问题主体。 – Jan 2014-08-29 09:32:40
我无法在1.4.0上重现这一点。这是一个已经修复的错误,或者是你的安装有趣的事情。 – tacaswell 2014-08-29 12:37:57