ImageGrid中AnchoredTexts的垂直对齐

时间:2013-03-28 12:30:56

标签: matplotlib

如何在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 的文本的基线更高,以适应基线下方所需的空间。

在我的情况下如何实现这一点,所有文本都是垂直对齐的,因为各个文本框的高度不同?

0 个答案:

没有答案