将Matplotlib文本与色条对齐

3
我想将实例的底部与实例的底部对齐,但它并不按照我预期的方式工作:
我使用cb.ax.get_position().ymin获取colorbar y位置,然后设置我的文本对象的y位置,如下所示:
cb = plt.colorbar(mappable, shrink=0.5)

details = plt.text(
    1., 1.,
    "Text",
    ha='right', va='bottom',
    size=5,
    color='#555555',
    transform=ax.transAxes,
    fontdict={
        'family': 'Helvetica',
        'size': 6})
details.set_y(cb.ax.get_position().ymin)

我已尝试更改va,但两者从未对齐:使用va=bottom时,文本的中间似乎与色条的中间对齐;使用va=center时,文本框的ymin低于(表面上的)cb ymin。最好的方法是获取和设置坐标是什么?
1个回答

5
这看起来如何,直接在cb.ax上绘制图形:
>>> x=linspace(-4,4)
>>> y=linspace(-4,4)
>>> g=meshgrid(x,y)
>>> z=g[0]**2+5*g[1]
>>> ctf=plt.contourf(x, y, z)
>>> cb=plt.colorbar(ctf, shrink=0.5)
>>> cb.ax.text(0.5, 0, 'text', va='top', ha='center')
<matplotlib.text.Text object at 0x9173670>

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接