6

我是否在以下代码中错误地使用了 fontsize 参数?根据文档,这应该是一个有效的关键字参数。

import pylab
pylab.plot(range(5), label='test')
pylab.legend(fontsize='small') 
pylab.show()

追溯:

Traceback (most recent call last):
  File "test_label.py", line 6, in <module>
    pylab.legend(fontsize='small')
  File "C:\swframe\python-V01-01\lib\site-packages\matplotlib\pyplot.py", line 2
791, in legend
    ret =  gca().legend(*args, **kwargs)
  File "C:\swframe\python-V01-01\lib\site-packages\matplotlib\axes.py", line 447
5, in legend
    self.legend_ = mlegend.Legend(self, handles, labels, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'fontsize'

Python:2.7,Matplotlib:1.1.0

编辑:注意,我不是在寻找设置字体大小的替代方法。我想知道为什么会出错。

4

1 回答 1

2

尝试:

pylab.legend(prop={fontsize: 'small'}) 

1.2.0legend文档(我可以在网上找到的最古老的文档)

通过 kwarg 设置字体大小不起作用,因为您使用的是过时版本的matplotlib. 它给您的错误 TypeError: __init__() got an unexpected keyword argument 'fontsize'意味着这fontsize不是__init__函数的有效关键字参数。

在这个fontsizePR中添加了传入的功能,这是在 1.1.0 和 1.2.0 版本之间完成的。

于 2013-09-20T16:32:45.767 回答