Je suis en train de générer des mises en page en tuiles imbriquées et d'y associer une barre de couleurs.
Il existe une façon de mettre une barre de couleurs à l'extérieur d'une seule mise en page en tuiles (ici):
Cependant, cela ne fonctionne pas pour les mises en page en tuiles imbriquées.
Voici un exemple:
figure;
tl = tiledlayout(4, 1);
for ii = 1:4
tl2 = tiledlayout(tl, 1, ii);
tl2.Layout.Tile = ii;
for jj = 1:ii
nexttile(tl2,jj);
imagesc; axis tight;
end
end
cb = colorbar();
cb.Layout.Tile = 'east';
(Bien sûr, ceci est un exemple minimal. Dans l'exemple, je pourrais imbriquer les mises en page en tuiles dans des colonnes au lieu de lignes - mais cela ne convient pas à mon code réel.)
Je souhaiterais que la barre de couleurs apparaisse sur le côté de tous les axes. Similaire à l'exemple présenté ci-dessus, mais pour les mises en page en tuiles imbriquées. Comment cela pourrait-il être fait?
Tentatives infructueuses jusqu'à présent:
- Changer le parent de la barre de couleurs pour la mise en page en tuiles externe (
tl
) n'est pas autorisé lors de l'instanciation i.e. utilisercb = colorbar('Parent', tl);
résulte en une erreur. - Changer le parent de la barre de couleurs en
tl
n'est pas non plus autorisé après qu'elle soit générée (set(cb,'Parent',tl);
) car la barre de couleurs doit avoir le même parent que ses axes. - Changer le parent à la fois des axes et de la barre de couleurs modifie la mise en page des axes (c'est-à-dire en ajoutant
set(gca, 'Parent', tl); set(cb, 'Parent', tl);
à la fin).