gpt4 book ai didi

python - Matplotlib:子图中的插图

转载 作者:太空宇宙 更新时间:2023-11-04 10:49:57 28 4
gpt4 key购买 nike

我必须做几个子图,每个子图在相对于子图的相同自定义位置都有一个插图。

原则上可以用 this 中给出的 axes_grid1 来完成例如,inset_axeszoomed_inset_axes 中的位置参数 loc= 对于我的目的而言不够具体。

我也试过 GridSpec's get_grid_positions,但我无法理解它返回的参数。

如何让插图在每个子图中看起来都一样,而不是被迫将它们放在特定位置?

最佳答案

你可以手动完成:

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 的能力,但会获得极大的控制权。

关于python - Matplotlib:子图中的插图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14589600/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com