web-dev-qa-db-fra.com

Comment créer une nouvelle figure dans MATLAB?

Habituellement, lorsque je trace dans MATLAB , il s’appuie toujours sur la même figure. Comment puis-je le dessiner dans une nouvelle figure? 

Je sais que c'est assez élémentaire, mais je ne le trouve pas avec Google Search.

50
Jader Dias
figure;
plot(something);

ou

figure(2);
plot(something);
...
figure(3);
plot(something else);
...

etc.

75
Federico A. Ramponi

Tout en faisant "figure (1), figure (2), ...", le problème sera résolu dans la plupart des cas, mais pas dans tous les cas. Supposons que vous avez un tas de chiffres MATLAB sur votre bureau et le nombre de ceux que vous avez ouverts varie de temps en temps avant l’exécution du code. En utilisant les réponses fournies, vous écraserez ces chiffres, que vous ne voudrez peut-être pas. La solution simple consiste à utiliser la commande "figure" avant de tracer.

Exemple: vous avez cinq chiffres sur votre bureau à partir d’un script précédent que vous avez exécuté et que vous utilisez

figure(1);
plot(...)

figure(2);
plot(...)

Vous venez de tracer les chiffres sur votre bureau. Cependant le code

figure;
plot(...)

figure;
plot(...)

vient de créer les figures 6 et 7 avec les parcelles souhaitées et laisse les parcelles précédentes 1-5 seules.

22
matt

L’autre élément à prendre en compte est d’utiliser la commande clf (effacer le chiffre) lorsque vous démarrez un nouveau tracé. Sinon, vous risquez de tracer sur une figure préexistante (impossible avec la commande figure par elle-même, mais si vous optez pour figure(2), une figure # 2 est peut-être déjà présente), avec plusieurs axes ou un axe placé plutôt drôle . Utilisez clf pour vous assurer de partir de zéro:

figure(N);
clf;
plot(something);
...
12
Jason S

Comme cela a déjà été dit: figure créera un nouveau chiffre pour vos prochains complots. En appelant figure, vous pouvez également le configurer. Exemple:

figHandle = figure('Name', 'Name of Figure', 'OuterPosition',[1, 1, scrsz(3), scrsz(4)]);

L'exemple définit le nom de la fenêtre et sa taille extérieure par rapport à l'écran utilisé . Ici figHandle est le descripteur de la figure résultante et peut être utilisé ultérieurement pour modifier l'aspect et le contenu. Exemples: 

Notation par points: 

figHandle.PaperOrientation = 'portrait';
figHandle.PaperUnits = 'centimeters';

Style ancien: 

set(figHandle, 'PaperOrientation', 'portrait', 'PaperUnits', 'centimeters');

En utilisant la poignée avec notation par points ou set, les options d'impression sont configurées ici.

En gardant les poignées des personnages avec des noms distincts, vous pouvez interagir avec plusieurs personnages actifs. Pour définir un personnage existant comme actif, appelez figure(figHandle). De nouvelles parcelles vont y aller maintenant.

3
Grebu

Une autre option courante est lorsque vous voulez plusieurs parcelles dans une seule fenêtre.

f = figure;
hold on
plot(x1,y1)
plot(x2,y2)
...

trace plusieurs ensembles de données sur la même figure (nouvelle).

1
gariepy

Aussi simple que cela-

figure, plot(yourfigure);
0
articuno