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

问题描述 投票:0回答:1

我想使用 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,axes2,axes3,axes4,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:

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

python matplotlib subplot nilearn
1个回答
0
投票

内置的 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,axes2,axes3,axes4,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()
© www.soinside.com 2019 - 2024. All rights reserved.