Multiple ylabels for tiledlayout

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?

Réponses (1)

Matt J
Matt J le 26 Mar 2024
Modifié(e) : Matt J le 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 commentaires

Cunxin Huang
Cunxin Huang le 26 Mar 2024
Thanks for your comment. I agree that this kind of nested tiledlayout is a good solution.
Cunxin Huang
Cunxin Huang le 11 Avr 2024
Modifié(e) : Cunxin Huang le 11 Avr 2024
Hi! I found there is a problem: when we use old version MATLAB (I tried R2019b), this method will lead to the following error:
"
Error using tiledlayout
TiledChartLayout cannot be a child of TiledChartLayout.
"
Matt J
Matt J le 11 Avr 2024
Modifié(e) : Matt J le 11 Avr 2024
The answer applies to the Matlab version that you posted with your question,
Cunxin Huang
Cunxin Huang le 11 Avr 2024
Yes. But I wonder if there exists a solution for an older version like R2019b.
Matt J
Matt J le 11 Avr 2024
Modifié(e) : Matt J le 11 Avr 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Axes Appearance dans Centre d'aide et File Exchange

Produits

Version

R2023a

Modifié(e) :

le 11 Avr 2024

Community Treasure Hunt

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

Start Hunting!

Translated by