Multiple ylabels for tiledlayout

10 vues (au cours des 30 derniers jours)
Cunxin Huang
Cunxin Huang le 26 Mar 2024
Modifié(e) : Matt J le 11 Avr 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?

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 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 2-D and 3-D Plots dans Help Center et File Exchange

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by