python-3.x - 将现有的 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)
推荐阅读
- python-3.x - 如何解决缺少参数的问题
- symfony - Symfony4:资产文件夹在哪里?
- oracle-golden-gate - Oracle Goldengate - IF 语句 - 不等于
- java - 可选的三元运算符中不需要的空指针异常
- r - 研究集群的 sd 时有时会返回 NA,有时没有
- python - 通过类中特定对象的名称访问所有变量
- azure - Azure 逻辑应用中的创建 blob 和创建块 blob 操作有什么区别?
- django - Django 生产静态文件不工作(部署)
- java - 使用 SpringJUnit4ClassRunner 测试包含服务的控制器逻辑
- spring-boot - Eureka client getting registered with unknown urls