Étant donné un tracé de trois courbes dans un fichier .fig, j'aimerais ajouter un autre tracé (avec hold all
et plot
), mais mettez-le derrière une des courbes déjà existantes (c.-à-d. Assurez-vous que la dernière courbe originale reste la au premier plan). Cela peut-il être réalisé sans avoir à extraire les données de tracé et à re-tracer?
Si vous connaissez le numéro de ligne que vous voulez en haut (par exemple parce que vous avez appelé h = plot(...)
, vous pouvez utiliser UISTACK
uistack(h,'top')
Vous pouvez également manipuler directement l'ordre des enfants de vos axes actuels. Ce qui suit place la dernière courbe en haut.
chH = get(gca,'Children')
set(gca,'Children',[chH(end);chH(1:end-1)])
La résolution donnée par @Jonas à l'aide de la propriété 'Children'
ne fonctionne pas dans son format donné. Il devrait être modifié comme suit:
chH = get(gca,'Children')
set(gca,'Children',flipud(chH))
Lorsque l'image comporte une légende, les paires get(gca,...)
et set(gca,...)
entraînent une erreur: "Une erreur d'utilisation de set . Les enfants peuvent uniquement être configurés pour une permutation de lui-même" Dans ce cas, j'ai utilisé l'outil de sélection d'interface graphique de la figure pour sélectionner les objets des axes, puis obtenir et définir le travail uniquement avec les tracés comme il convient et non avec la légende. Après avoir appelé set, vous devez actualiser la légende en appelant legend(...)
. J'ai eu 5 parcelles que j'avais besoin de réorganiser. En cas de doute sur l'ordre, permutez les parcelles deux à la fois, actualisez la légende et voyez si c'est l'ordre que vous vouliez.
La propriété Children
contient les références et l'ordre détermine la pile graphique.
Une autre option pour récupérer la liste est
gcaChildrenList=gca.Children;
De cette façon, vous pouvez jouer avec les commandes comme
gca.Children=gca.Children([2:end 1]); % Put the topmost graphic in the bottom
gca.Children=gca.Children([end:-1:1]); % Flip the stack
gca.Children=gca.Children([1:N-1 N+1:end N]); % Put Nth graphics ontop the stack
Testé sur Matlab R2014b