在matplotlib中,如何调整图例标题的对齐方式?它总是居中,但我需要它与图例框保持对齐。我试图更改标题的文本艺术家的对齐方式,但没有任何效果。有关详细信息,请参阅以下示例:
from pylab import *
x = linspace(0, 1)
plot(x, x, label="1")
plot(x, x**2, label="2")
plot(x, x**3, label="3")
plot(x, sqrt(x), label="square root")
l = legend(title="Title", loc="best")
l.get_title().set_ha("left") # <== does not work
show()
问题归结为什么和谁控制标题对齐的锚点?将对齐更改为“右”或“中心”具有明显的效果。第二个观察:对于长标题字符串,锚点移动到图例框的左边界......
答案 0 :(得分:11)
您可以对齐完整的图例框设置rethinkdb --bind all
。这会对齐图例框内的所有内容,但效果是在框的两侧而不是中心标题上所需的效果。
答案 1 :(得分:6)
我认为您需要使用Text
方法取代set_position((x, y))
对象。 x
和y
的单位是像素,因此您必须尝试使用正确的值,或使用Transform
。我不确定Transforms
哪种组合最有用。
简而言之,这样的事情可能有用:
l.get_title().set_position((-10, 0)) # -10 is a guess