Bonjour à tous,
J'ai une petite question à propos des fichiers fig.
Peut-on enregistrer des images en .fig, les ouvrir à nouveau avec open ou openfig ou autre chose et redessiner les images dans un subplot ?
Bonjour à tous,
J'ai une petite question à propos des fichiers fig.
Peut-on enregistrer des images en .fig, les ouvrir à nouveau avec open ou openfig ou autre chose et redessiner les images dans un subplot ?
Bonjour,
Je pense que tu peux y arriver avec SAVEAS et l'option FIG.
Bonne apm,
Duf
Bonjour Duf,
malheureusement, ca ne fonctionne pas. Que j'enregistre la figure automatiquement avec un saveas ou que je fasse un export manuel, j'ai toujours le même résultat.
Matlab crée une figure en subplot mais laisse le graphe vide. Il crée ensuite une autre figure pour mettre le graphe fig.
Apparemment, c'est possible de faire ca en utilisant le bouton "show Plots tools" à l'intérieur d'une figure. Reste plus qu'à trouver comment le faire en ligne de code.
C'est bon, j'ai trouvé. voici la solution si ca peut intéresser quelqu'un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 openfig('graphe.fig'); A=get(gca,'Children'); openfig('graphe2.fig'); B=get(gca,'Children'); openfig('graphe3.fig'); C=get(gca,'Children'); figure subplot(1,3,1) copyobj(A,gca); subplot(1,3,2) copyobj(B,gca); subplot(1,3,3) copyobj(C,gca);
J'ai posté un peu rapidement... L'utilisation de la commande figure toute seule revoit une zone vide alors que l'utilisation de subplot renvoie une figure qui possède déjà des axes.
Du coup, quand on colle l'objet correspondant aux graphes .fig, les axes ne collent pas.
Il faut d'abord désactiver les axes.
edit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part set(gca,'Visible','off');
On peut également utiliser les carac des axes de la figure en .fig
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 A=get(gca,'Children'); AA=get(gca); figure h=subplot(3,1,1) copyobj(A,gca) set(h,'YtickLabel',AA.YtickLabel); set(h,'Ytickl',AA.Ytick); set(h,'XtickLabel',AA.XtickLabel); set(h,'Xtick',AA.Ytick); %etc axis square
Partager