Clear Filters
Clear Filters

Multiple ylabels for tiledlayout

8 views (last 30 days)
Cunxin Huang
Cunxin Huang on 26 Mar 2024
Edited: Matt J on 11 Apr 2024
Suppose I am drawing a 4*6 figure with tiledlayout. Now I want to let the first and the second rows of figures share the same ylabel, and so do the third and the fourth rows. I looked for solutions but found nothing useful. I tried to create two different tiledlayout on one figure, but it turns out that tiledlayout function does not allow this. Thus, is there any suggestions?

Answers (1)

Matt J
Matt J on 26 Mar 2024
Edited: Matt J on 26 Mar 2024
One approach would be to create a 2x1 tiledlayout where inside each tile you nest another tiledlayout of dimension 2x6. You can facilitate this by downloading nestedLayouts() from the File Exchange,
Example:
[ax,t,T]=nestedLayouts([2,1],[2,6]);
for i=1:numel(ax) %populate all 24 axes with plot data
plot(ax(i),rand(1,5));
end
for i=1:numel(t) %Give each outer tile its own ylabel
ylabel(t(i),"ylabel No. "+i);
end
  5 Comments
Cunxin Huang
Cunxin Huang on 11 Apr 2024
Yes. But I wonder if there exists a solution for an older version like R2019b.
Matt J
Matt J on 11 Apr 2024
Edited: Matt J on 11 Apr 2024
I haven't used it myself, but there is this FEX offering,
which has a "Pick of the Week" designation to vouch for it.

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!