Skip to content Skip to sidebar Skip to footer

Matplotlib: Figlegend Only Printing First Letter

I try to print a figlegend with only one line, but I only get the first letter. I have the following script for making the plot: from pylab import * k = plot((0, 1),(1, 1)) figlege

Solution 1:

I haven't figured out whether it is a bug or intentional (for some reason) in matplotlib, but in order to get a full legend label you need to leave a trailing comma on your list of labels:

figlegend((k),('Limit',),loc='lower center')

change that line and your code:

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

produces the figure:

full legend label

Alternatively, one can use [] to achieve the same result:

figlegend((k),(['Limit']),loc='lower center')

Solution 2:

The answer to your problem is the following.

For the names of the legend, you have to surround it in square brackets, like this:

figlegend((k),[('Limit')],loc='lower center')

as you can see the legend name 'limit' is surrounded in square brackets, and this will then display the full name.

Here would be the full code:
from pylab import *
k = plot((0, 1),(1, 1))
figlegend((k),[('Limit')],loc='lower center')
savefig('test.pdf')

Post a Comment for "Matplotlib: Figlegend Only Printing First Letter"