Bonsoir ,
Est il possible d'assembler plusieurs figures en une seule ?
Merci
Bonsoir ,
Est il possible d'assembler plusieurs figures en une seule ?
Merci
va regarder:
subplot
Merci Petchi
En fait j'ai n courbes distinctes c'est a dire :
pour un paramètre n =0 j'ai une courbe
n=1 j'ai ma deuxième courbe
ainsi de suit
donc j'ai affiché chaque courbe seule et l’enregistrer a part exemple fig1.fig.....etc sans écrire de code dans le programme principal pour les assembler en une seule
et je voudrai les assembler à la fin
je ne sais pas su faire une copier coller d'une courbe et essayer de l'assembler avec la deuxième ou une fonction qui appele une courbe pour l'assembler avec une deuxième
Merci
Bonjour,
Si tu possèdes les tableaux de données associés aux courbes, il te suffit d'utiliser de créer une figure, d'écrire la commande hold all en dessous de la ligne de création de figure, puis d'y effectuer tout tes plots.
Voici un exemple
Génération de 4 fichiers .fig :
Assemblage des 4 graphiques :
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
17
18
19
20
21 x = 0:10; y = x; fig = figure; plot(x,y,'r-'); savefig(fig, 'fig1.fig'); clf(fig) plot(x,-y,'b-'); savefig(fig, 'fig2.fig'); clf(fig) plot(-x,y,'m-'); savefig(fig, 'fig3.fig'); clf(fig) plot(-x,-y,'c-'); savefig(fig, 'fig4.fig'); close(fig)
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
17
18
19 fig(1) = figure; ax(1) = axes; hold(ax(1), 'on') d = dir('fig*.fig'); for n = 1:numel(d) fig(2) = openfig(d(n).name); ax(2) = findobj('type', 'axes', 'parent', fig(2)); h = findobj('type', 'line', 'parent', ax(2)); copyobj(h, ax(1)) close(fig(2)); end axis(ax(1), 'tight')
Merci beaucoup Jerome Briot c'est ce que je cherchais ,mais il y a un problème sur la fonction savefig.m
Quand j'ai repris votre code un message d'erreur est apparu :
et même quand je cherche la fonction savefig.m sur le help ,je ne la trouve pas :Undefined function 'savefig' for input arguments of type 'double'
Code : Sélectionner tout - Visualiser dans une fenêtre à part help savefig
y a il un moyen d'y remédier à ça ?savefig not found
La fonction savefig a été introduite avec la version R2013b de MATLAB.
Si tu travailles avec une version plus ancienne de MATLAB, tu peux utiliser les fonctions hgsave et hgload :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 x = 0:10; y = x; fig = figure; plot(x,y,'r-'); hgsave(fig, 'fig1.fig'); clf(fig) plot(x,-y,'b-'); hgsave(fig, 'fig2.fig'); clf(fig) plot(-x,y,'m-'); hgsave(fig, 'fig3.fig'); clf(fig) plot(-x,-y,'c-'); hgsave(fig, 'fig4.fig'); close(fig) fig(1) = figure; ax(1) = axes; hold(ax(1), 'on') d = dir('fig*.fig'); for n = 1:numel(d) fig(2) = hgload(d(n).name); ax(2) = findobj('type', 'axes', 'parent', fig(2)); h = findobj('type', 'line', 'parent', ax(2)); copyobj(h, ax(1)) close(fig(2)); end axis(ax(1), 'tight')
Partager