1

いくつかのサブプロットを実行する必要があります。各サブプロットには、サブプロットに対して同じカスタム位置にインセットがあります。

原則axes_grid1として、このloc=例に示されているように実行できますが、inset_axesまたはの位置パラメーターはzoomed_inset_axes、私の目的には十分に具体的ではありません。

GridSpec's も試しましget_grid_positionsたが、返されるパラメータがわかりません。

挿入図を特定の場所に配置せずに、各サブプロットで同じように表示するにはどうすればよいですか?

4

1 に答える 1

4

手でそれを行うことができます:

ncols = 2
nrows = 2

inset_hfrac = .3
inset_vfrac = .3

inset_hfrac_offset = .6
inset_vfrac_offset = .6

top_pad = .1
bottom_pad = .1
left_pad = .1
right_pad = .1

hspace = .1
vspace = .1

ax_width = (1 - left_pad - right_pad - (ncols - 1) * hspace) / ncols
ax_height = (1 - top_pad - bottom_pad - (nrows - 1) * vspace) / nrows

fig = figure()

ax_lst = []
for j in range(ncols):
    for k in range(nrows):
        a_bottom = bottom_pad + k * ( ax_height + vspace)
        a_left = left_pad + j * (ax_width + hspace)

        inset_bottom = a_bottom + inset_vfrac_offset * ax_height
        inset_left = a_left + inset_hfrac_offset * ax_width

        ax = fig.add_axes([a_left, a_bottom, ax_width, ax_height])
        ax_in = fig.add_axes([inset_left, inset_bottom, ax_width * inset_hfrac, ax_height *  inset_vfrac])
        ax_lst.append((ax,ax_in))

これにより、 を使用する能力が犠牲になりますtight_layoutが、膨大な量の制御が得られます。

于 2013-01-29T20:32:30.567 に答える