如何在matplotlib中垂直对齐文字?我的情况如下:
我正在使用ImageGrid
来绘制一行五张图片:
grid = ImageGrid(fig,
rect=(0.06, 0., 0.885, 1.),
nrows_ncols = (1, 5),
direction="row",
axes_pad = 0.,
add_all=True,
label_mode = "L",
share_all = True,
cbar_location="right",
cbar_mode="single",
cbar_size="10%",
cbar_pad="0%",
)
在每个轴中,我想添加一些文字。为此,我定义了以下函数(遵循其中一个示例):
def add_inner_title(ax, title, loc, props):
from matplotlib.offsetbox import AnchoredText
at = AnchoredText(title, loc=loc, prop=props,
pad=0., borderpad=0.5,
frameon=False)
ax.add_artist(at)
return at
我这样使用:
ax = grid[i]
tit = add_inner_title(ax, title, loc=3,
props={'size':'x-small',
'color':'#b0b0b0',
'weight' : 'bold',
'va' : 'baseline'})
现在,在其中一个图中,轴,标题是“污染信号”,在另一个图中,它是“一个”,而在另一个图中,它是“国美”(所有仅仅是示例)。问题是现在文本没有垂直对齐:带有 g 的文本的基线更高,以适应基线下方所需的空间。
在我的情况下如何实现这一点,所有文本都是垂直对齐的,因为各个文本框的高度不同?