2017-06-07 5 views
1

Der folgende Code erstellt eine Legende mit einem Titel.Wie lege ich Legendentitel links?

from pylab import * 
plt.plot([1,2],[2,3],label='sdfsdf') 
legend(title='s') 

output picture here

's' ist in der Mitte der Legende entfernt.
Ich frage mich, wie 's' auf der linken Seite zu setzen.

Antwort

1

Die einfachste Möglichkeit wäre wahrscheinlich sehr viele Leerzeichen hinter dem Titel

import matplotlib.pyplot as plt 
plt.plot([1,2],[2,3],label='sdfsdf') 
plt.legend(title='s    ') 
plt.show() 

enter image description here

Der Nachteil dieser ist natürlich, dass die Menge von Leerzeichen von der Größe Legende hängt hinzuzufügen.

Die andere Möglichkeit besteht darin, die Ausrichtung innerhalb der Legende zu ändern, indem ._legend_box.align verwendet wird.

import matplotlib.pyplot as plt 
plt.plot([1,2],[2,3],label='sdfsdf') 
leg = plt.legend(title='s') 
leg._legend_box.align = "left" 

plt.show() 

enter image description here

Beachten Sie, dass dies die aligment aller Legendeneinträge ist, da es leider keine Möglichkeit, unabhängig den Titel auszurichten. In den meisten Fällen ist das egal, aber man muss sich dessen bewusst sein, wenn unvorhergesehene Probleme mit komplexeren Legenden (mehrspaltige etc.) auftreten.

Verwandte Themen