如何将图例标题放在左侧?

wei*_*wei 3 matplotlib

以下代码创建一个带有标题的图例。

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

在这里输出图片

's' 位于图例的中心。
我想知道如何将 's' 放在左侧。

Imp*_*est 6

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

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

在此输入图像描述

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

因此,另一个选项是使用 更改图例内的对齐方式._legend_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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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