如何使用nilearn和matplotlib子图绘制3D脑图像的多个切片

问题描述

我是编码的新手,所以如果我完全错了,那就告诉我。

我想使用nilearn绘制25幅大脑扫描图。这25个切片应沿z轴以value = 2的步长前进。我想使用子图来使用子图展示它们。

这是我到目前为止所拥有的:

cuts = np.arange(-25,25,2)
fig,(axes1,axes2,axes3,axes4,axes5) = plt.subplots(5,1,figsize=(10,10))

for axes in [axes1,axes5]:
    for slc in cuts:
        plotting.plot_stat_map(rsn_four,display_mode='z',axes=axes,cut_coords=[slc],threshold=2)
plt.show()

'rsn_four'是BOLD扫描的3D Nifti文件

Output:

我认为我最大的问题之一是,我不知道如何实现,我希望每个轴有5个np.arange()值,然后将其带到下一个继续计数的轴。

如果我错过了一些信息,请告诉我,这是我在这里的第一篇文章

解决方法

enumerate内置功能在这里可能有助于从每个图像中仅获取想要的裁切正确的索引

cuts = np.arange(-25,25,2)
fig,(axes1,axes2,axes3,axes4,axes5) = plt.subplots(5,1,figsize=(10,10))

for num,axes in enumerate([axes1,axes5]):
    for slc in cuts[num:num+5]:
        plotting.plot_stat_map(rsn_four,display_mode='z',axes=axes,cut_coords=[slc],threshold=2)
plt.show()