将现有的 matplotlib 图形放入子图中



我想得到一些关于如何排列matplotlib.figure.figure对象的建议

我使用以下函数(https://nilearn.github.io/modules/generated/nilearn.plotting.plot_surf_roi.html(制作了一个类型为'matplotlib.figure.Figure'的对象:

from nilearn import plotting
def plot_surf(surface_data, view, fig):
img = plotting.plot_surf_roi(surface_data['surf_mesh'], 
roi_map=surface_data['comp_labels'],
hemi=hemi, view=view,
cmap='RdBu_r',
vmax=np.nanmax(surface_data['comp_labels']), 
vmin=np.nanmin(surface_data['comp_labels']),
bg_map=surface_data['bg_maps'],
darkness=0.6,
bg_on_data=True,
title='',
figure = fig)
return img

我想做一些这些并安排为子情节。这是我迄今为止不成功的尝试:

fig = plt.figure()
fig, ax = plt.subplots()
plot_surf(surface_data, 'lateral', fig)
plot_surf(surface_data, 'medial', fig)
plt.show()

任何建议表示赞赏

尝试这样做:

def plot_surf(surface_data, view, fig, axes):
img = plotting.plot_surf_roi(surface_data['surf_mesh'], 
roi_map=surface_data['comp_labels'],
hemi=hemi, view=view,
cmap='RdBu_r',
vmax=np.nanmax(surface_data['comp_labels']), 
vmin=np.nanmin(surface_data['comp_labels']),
bg_map=surface_data['bg_maps'],
darkness=0.6,
bg_on_data=True,
title='',
figure = fig,
axes=axes)
return img
fig, (ax1, ax2) = plt.subplots(2, subplot_kw={'projection': '3d'}) 
plot_surf(surface_data, 'lateral', fig, ax1)
plot_surf(surface_data, 'medial', fig, ax2)

相关内容

最新更新