在matplotlib中将图例条目居中

时间:2019-05-21 13:14:40

标签: python matplotlib

我正在尝试在matplotlib中集中一些图例条目。 这是该代码的一个示例:

from matplotlib.lines import Line2D
custom_lines = [Line2D([0], [0], color=cmap(0.), lw=4),
                Line2D([0], [0], color=cmap(.5), lw=4),
                Line2D([0], [0], color=cmap(1.), lw=4)]

fig, ax = plt.subplots()
lines = ax.plot(data)
ax.legend(custom_lines, ['Cold', 'Medium', 'Hot'])

是否可以仅将图例中的“冷”描述居中?我已经尝试过r"$\centering Cold$"利用乳胶表达式,但是没有用。

1 个答案:

答案 0 :(得分:0)

我可以使用add_artist方法创建两个不同的图例(否则它将替换以前的图例),这将使您可以将两个图例都设置在不同的位置,例如:

from matplotlib.lines import Line2D

custom_lines = [Line2D([0], [0], color=cmap(0.), lw=4),
                Line2D([0], [0], color=cmap(.5), lw=4),
                Line2D([0], [0], color=cmap(1.), lw=4)]

fig, ax = plt.subplots()
lines = ax.plot(data)

legend1 = plt.legend(custom_lines[1:], ['Medium', 'Hot'])
legend2 = plt.legend(custom_lines[0], 'Cold', loc=10)

ax.add_artist(legend1)
ax.add_artist(legend2)