Populating a tiledlayout vertically rather than horizontally

6 ビュー (過去 30 日間)
Jason
Jason 2025 年 6 月 5 日
コメント済み: Star Strider 2025 年 6 月 5 日
Hi, I have an 1D array of images in a cell array.
I want to montage them using my own settings, so I have been using tiledlayout.
I must have 3 rows, and my total number of images is always a multiple of 3.
n=app.ImCount.Value; % number of images in my cell array
tcl = tiledlayout(3,ceil(n/3),'TileSpacing','none','Padding','compact'); %tight
for i=1:n
IM=app.imgArray{i};
ROI=imcrop(IM,rect);
ax=nexttile(tcl);
myImagesc(app,ax,ROI); axis(ax,'image');
end
Say I have 12 images, rather than have the layout like this:
1 2 3 4
5 6 7 8
9 10 11 12
I want this, i.e. populating vertically
1 4 7 10
2 5 8 11
3 6 9 12
I thought there might have been an option in the tied layout but there is only a complete "vertical" arrangement possible.
So my idea next is to just index the images like 1,4,7,10,2,5,8,11 etc, but have no idea how to do this or whether this is a good way anyway
Thanks

採用された回答

Star Strider
Star Strider 2025 年 6 月 5 日
One option could be to use the TileIndexing property, and set it to 'columnmajor'.
  6 件のコメント
Jason
Jason 2025 年 6 月 5 日
Thats perfect, thankyou once again!
Star Strider
Star Strider 2025 年 6 月 5 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

タグ

製品


リリース

R2024b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by