如何将传奇标题放在左边?

时间:2017-06-07 10:55:59

标签: matplotlib

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

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

output picture here

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

1 个答案:

答案 0 :(得分:2)

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

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

enter image description here

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

因此,另一个选项是使用._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()

enter image description here

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