Matplotlib图例字体大小

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

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


使用matplotlib版本1.3.0,我没有遇到任何错误... - G M
@GM 呃,没事了。问题是我看不懂。(读作“哪个版本?我用1.3没有错误”) - tacaswell
1个回答

1

尝试:

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

1.2.0 legend文档(我能在网上找到的最早版本)

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

传递fontsize的功能是在this PR中添加的,该PR在1.1.0和1.2.0版本之间完成。


这就是我最终做的事情,但如果你看到我的问题,它明确表示我不需要替代方案,只需要解释为什么这行不通。 - Dhara
无法工作:"NameError: name 'fontsize' is not defined" - Luís de Sousa
@LuísdeSousa 添加了缺少的引号。 - tacaswell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接