为什么使用matplotlib文本alignent与字符串格式函数工作错误?

时间:2016-09-19 12:31:03

标签: python string matplotlib plot text-alignment

我试图在matplotlib栏中将我的文本对齐。以下代码可以正常工作:

colors = ['red', 'blue', 'green', 'yellow']
for color in colors:
    print('{:>15}'.format(color))

输出:

        red
       blue
      green
     yellow

但是,相同的字符串格式在plt.text函数中不起作用:

fig, ax = plt.subplots()
bar_band = ax.barh(range(len(colors)), np.ones(len(colors)), height=1)
for i in range(len(colors)):
    bar_band[i].set_color(colors[i])
    ax.text(0.1, i+0.4, "{:>15}".format(colors[i]))

ax.set_axis_off()
plt.show()

我让文本与中心对齐。任何人都可以帮助我吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

ax.text()创建了一个matplotlib Text对象,其中包含horizontalalignment选项(或简称为ha)。这可以帮助您将文本与所需位置对齐。

接受的选项包括'left''right''center'

所以,你可以试试:

ax.text(0.1, i+0.4, "{:>15}".format(colors[i]), ha='right')