从轴(或图形)获取四边形对象

2024-09-28 16:21:27 发布

您现在位置:Python中文网/ 问答频道 /正文

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

import matplotlib.pyplot as plt
import numpy as np

def foo(subplot):
    data = np.random.random((100,100))
    x,y = np.meshgrid(np.arange(101),np.arange(101))
    fig = plt.gcf()
    ax = fig.add_subplot(subplot)
    quadmesh = ax.pcolormesh(x,y,data)
    return fig,ax

fig = plt.figure()
f,a = foo(221)
f,a = foo(222)
f,a = foo(223)
f,a = foo(224)
fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([0.85,0.15,0.05,0.7])
#fig.colorbar(magic_get_quadmesh,cax=cbar_ax)
plt.show()

Tags: 实例importadddatafooasnpfig
1条回答
网友
1楼 · 发布于 2024-09-28 16:21:27

我不太确定这是否是您想要的特别是因为有4个四边形网格,但是您可以通过它的collections属性找到给定AxesSubplot的四元网格:

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

顺便说一句,我用这个探索性的自省工具找到了答案:

^{pr2}$

是的,它打印出大量的输出,但是快速搜索"quadmesh"就可以找到答案。在

相关问题 更多 >