我试图在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()
我让文本与中心对齐。任何人都可以帮助我吗?
答案 0 :(得分:0)
ax.text()
创建了一个matplotlib Text
对象,其中包含horizontalalignment
选项(或简称为ha
)。这可以帮助您将文本与所需位置对齐。
接受的选项包括'left'
,'right'
和'center'
所以,你可以试试:
ax.text(0.1, i+0.4, "{:>15}".format(colors[i]), ha='right')