Matplotlib 如何将图例标题置于左侧?

Matplotlib 如何将图例标题置于左侧?,matplotlib,Matplotlib,下面的代码创建了一个带有标题的图例 from pylab import * plt.plot([1,2],[2,3],label='sdfsdf') legend(title='s') “s”位于图例的中心。 我想知道如何将“s”放在左边。最简单的选择可能是在标题后面添加大量空格 import matplotlib.pyplot as plt plt.plot([1,2],[2,3],label='sdfsdf') plt.legend(title='s ')

下面的代码创建了一个带有标题的图例

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

“s”位于图例的中心。

我想知道如何将“s”放在左边。

最简单的选择可能是在标题后面添加大量空格

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

这样做的缺点当然是空白的大小取决于图例的大小

因此,另一个选项是使用
\u legend\u box.align
更改图例内的对齐方式

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()

请注意,这是所有图例条目的对齐,因为遗憾的是,无法独立对齐标题。在大多数情况下,这并不重要,但必须意识到,如果更复杂的图例(多列等)出现不可预见的问题