我想在matplotlib中创建一个2×3的2d直方图,每个子图的顶部都有一个共享的颜色条和一个直方图.除了最后一部分,AxesGrid给了我一切.我尝试使用make_axes_locatable按照上面的页面上的“scatter_hist.py” example在每个子图的顶部添加一个2d直方图.代码看起来像这样:
plots = []
hists = []
for i, s in enumerate(sim):
x = np.log10(s.g['temp']) #just accessing my data
y = s.g['vr']
histy = s.g['mdot']
rmin, rmax = min(s.g['r']), max(s.g['r'])
plots.append(grid[i].hexbin(x, y, C = s.g['mass'],
reduce_C_function=np.sum, gridsize=(50, 50),
extent=(xmin, xmax, ymin, ymax),
bins='log', vmin=cbmin, vmax=cbmax))
grid[i].text(0.95 * xmax, 0.95 * ymax,
'%2d-%2d kpc' % (round(rmin), round(rmax)),
verticalalignment='top',
horizontalalignment='right')
divider = make_axes_locatable(g