如何分别对X * Y * Z(3D)矩阵matlab进行子图绘制?

matlab matlab-figure

100 观看

1回复

19 作者的声誉

我想创建4个子图,每个子图包含16个图形。每个图是矩阵GW的一维。即GW(:,:,1)是第一张图片。这是第一个子图中前16个图像的for循环。我应该如何修改for循环以获得3个以上的子图?第一个子图应包含前16个图像,第二个子图应包含后16个图像,依此类推。通过以下循环,我将获得所有四个子图的前16张图像。

for i=1:4
        figure(i);
        hold on;

        for jj = 1:16
              subplot (4,4,j)
              imshow (GW(:,:,j));
        end
end
作者: Xio 的来源 发布者: 2016 年 2 月 26 日

回应 (1)


0

333 作者的声誉

决定

您只需要修改访问GW的第3维的方式即可。尝试这个:

num_figures = 4;  % because I dont like magic numbers in the code
subplots_per_figure = 16;  % same here
for i=1:num_figures
        figure(i);
        hold on;

        for j = 1:subplots_per_figure
              subplot (4,4,j)
              imshow (GW(:,:,j+(i-1)*subplots_per_figure));
        end
end
作者: neerad29 发布者: 26.02.2016 01:05
32x32