Domanda

Di solito quando scrivo in MATLAB , si basa sempre sulla stessa figura. Come lo faccio disegnare in una nuova figura?

So che è piuttosto elementare, ma non lo trovo utilizzando Ricerca Google.

È stato utile?

Soluzione

figure;
plot(something);

o

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

ecc.

Altri suggerimenti

Durante l'esecuzione di " figure (1), figure (2), ... " risolverà il problema nella maggior parte dei casi, non li risolverà in tutti i casi. Supponiamo di avere un sacco di figure MATLAB sul desktop e quante ne hai aperte varia di volta in volta prima di eseguire il codice. Usando le risposte fornite, sovrascriverai queste cifre, che potresti non voler. La soluzione semplice è usare semplicemente il comando "figura" prima della trama.

Esempio: hai cinque cifre sul desktop di uno script precedente che hai eseguito e che usi

figure(1);
plot(...)

figure(2);
plot(...)

Hai appena tracciato le figure sul desktop. Tuttavia, il codice

figure;
plot(...)

figure;
plot(...)

ho appena creato le figure 6 e 7 con i grafici desiderati e lasciato solo i grafici precedenti 1-5.

L'altra cosa a cui fare attenzione è usare il comando clf (figura chiara) quando inizi una nuova trama. Altrimenti potresti avere un grafico su una figura preesistente (non possibile con il comando figure da solo, ma se fai figure (2) potrebbe esserci già una cifra # 2), con più di un asse o un asse che è posizionato in qualche modo divertente. Usa clf per assicurarti di iniziare da zero:

figure(N);
clf;
plot(something);
...

Come è già stato detto: figure creerà una nuova figura per i tuoi prossimi grafici. Mentre chiami figure puoi anche configurarlo. Esempio:

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

L'esempio imposta il nome della finestra e la sua dimensione esterna in relazione alla schermata utilizzata. Qui figHandle è la maniglia della figura risultante e può essere utilizzata in seguito per modificare l'aspetto e il contenuto. Esempi:

Notazione dot:

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

Vecchio stile:

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

Usando la maniglia con notazione punto o set , le opzioni per la stampa sono configurate qui.

Mantenendo le maniglie delle figure con nomi distinti è possibile interagire con più figure attive. Per impostare una figura esistente come attiva, chiama figure (figHandle) . Nuove trame andranno lì adesso.

Un'altra opzione comune è quando si desidera più grafici in un'unica finestra

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

traccia più set di dati sulla stessa (nuova) figura.

Semplice come questo-

figure, plot(yourfigure);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top