Can i convert subplots in tiledlayouts?

24 次查看(过去 30 天)
Hi guys,
I have created a figure with several subplots. But I would like to change to tiledlayout because of the advantages. Unfortunately, I have not yet found a way to end up with a figure that has the same size and the same division of the subplot. Do you know a solution for this?
Here is the structure of my previous figure:
figure('Name','Example','Position',[-300 1120 2200 1300]);
subplot(4,5,[1 2 3 6 7 8]);
subplot(4,5,[11 12]);
subplot(4,5,[16 17]);
subplot(4,5,[4]);
subplot(4,5,[5]);
etc.
.....
all others are single plots with one place
Thank you very much!
  2 个评论
Adam Danz
Adam Danz 2023-4-5
I edited your question to format your code and run the results.
What does the "etc" mean? Is there more to it or is this the complete picture?
What does this mean "all others are single plots..." ? Does that mean there are more axes in the picture?
Max1234
Max1234 2023-4-5
Thank you very much for the answer. With etc. and all other individual diagrams the "free places" are meant. As on the top right, small individual diagrams should be placed there.

请先登录,再进行评论。

采纳的回答

Adam Danz
Adam Danz 2023-4-5
编辑:Adam Danz 2023-4-5
See tiledlayout to learn about layout options and spacing.
See nexttile to learn about setting the tile location and span.
fig = figure();
tcl = tiledlayout(fig,4,5,'TileSpacing','Compact'); % or 'tight', etc
ax1 = nexttile(tcl, [2,3]); % subplot(4,5,[1 2 3 6 7 8]);
ax2 = nexttile(tcl, 11, [1,2]); % subplot(4,5,[11 12]);
ax3 = nexttile(tcl, 16, [1,2]); % subplot(4,5,[16 17]);
ax4 = nexttile(tcl, 4); % subplot(4,5,[4]);
ax5 = nexttile(tcl, 5); % subplot(4,5,[5]);
  2 个评论
Max1234
Max1234 2023-4-5
Great, thank you very much! It worked. I would now like to apply the axis labelling only for the eight diagrams marked on the right. This is how it is described in the help. Unfortunately, this only works for all diagrams and not for a selection as here. Is there a possibility?
Adam Danz
Adam Danz 2023-4-6
I'm not sure what you mean by axis labeling but it sounds like you can use the axis handles to control this.
set([ax1,ax2,ax3],'XTick',[],'YTick',[])

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by