Matplotlib:figlegend只打印第一个字母

Tor*_* Bø 12 python matplotlib

我尝试用一​​行打印一个figlegend,但我只得到第一个字母.我有以下脚本来制作情节:

from pylab import *
k = plot((0, 1),(1, 1))
figlegend((k),('Limit'),loc='lower center')
savefig('test.pdf')
Run Code Online (Sandbox Code Playgroud)

输出是: 产量

我究竟做错了什么?(或者它是一个错误吗?)

BFT*_*FTM 23

我在matplotlib中没有弄清楚它是一个bug还是故意(由于某种原因),但是为了获得一个完整的图例标签,你需要在标签列表上留下一个逗号:

figlegend((k),('Limit',),loc='lower center')
Run Code Online (Sandbox Code Playgroud)

更改该行和您的代码:

from pylab import *
k = plot((0, 1),(1, 1))
figlegend((k),('Limit',),loc='lower center')
savefig('test.pdf')
Run Code Online (Sandbox Code Playgroud)

产生这个数字:

完整的传奇标签

  • 它是Python的一个特性:要指定单元素列表,您需要使用该语法将其与parens中的某些标量值区分开来.http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences (3认同)
  • 这是我遇到的最奇怪的Python怪癖。非常感谢您发现了这个问题。 (3认同)