从Axes获取QuadMesh对象(或图)

时间:2013-05-24 17:37:08

标签: python matplotlib

我正在尝试绘制一个图,其中各个子图共享一个类似于this answer的颜色条。我遇到的问题是,在我的脚本中,我正在调用一个函数来创建QuadMesh(从ax.pcolormesh生成)实例并返回Figure和{{1与之关联的实例。有没有办法从Axes实例(或图实例)获取QuadMesh实例的句柄?

Axes

1 个答案:

答案 0 :(得分:4)

我不确定这是你想要的 - 特别是因为有4个四边形 - 但你可以通过collections属性找到AxesSubplot的quadmesh:

fig.colorbar(a.collections[0], cax=cbar_ax)

顺便说一下,我使用这个探索性内省工具找到了答案:

def describe(obj):
    for key in dir(obj):
        try:
            val = getattr(obj, key)
        except AttributeError:
            continue
        if callable(val):
            help(val)
        else:
            print('{k} => {v!r}'.format(k=key, v=val))
        print('-' * 80)
describe(a)

是的,它打印出很多输出,但快速搜索"quadmesh"会引导您找到答案。