Main Content

Funzioni di plottaggio di base

Creazione di grafici

La funzione plot presenta forme diverse a seconda degli argomenti di input.

  • Se y è un vettore, plot(y) produce una linea grafica a tratti degli elementi di y rispetto agli elementi di y.

  • Se come argomenti si specificano due vettori, plot(x,y) produce un grafico di y rispetto a x.

Utilizzare l'operatore due punti per creare un vettore dei valori di x compresi tra 0 e 2π, calcolare il seno di questi valori e creare un grafico dei risultati.

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

Figure contains an axes object. The axes object contains an object of type line.

Aggiungere le etichette degli assi e un titolo. I caratteri \pi nella funzione xlabel creano il simbolo π. La proprietà FontSize nella funzione title aumenta le dimensioni del testo utilizzato per il titolo.

xlabel('x = 0:2\pi')
ylabel('Sine of x')
title('Plot of the Sine Function','FontSize',12)

Figure contains an axes object. The axes object with title Plot of the Sine Function contains an object of type line.

Plottaggio di più serie di dati in un grafico

Argomenti multipli della coppia x-y creano più grafici con una singola chiamata a plot. MATLAB® utilizza un colore diverso per ciascuna linea.

Ad esempio, queste dichiarazioni creano il grafico delle tre funzioni correlate di x:

x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)

Figure contains an axes object. The axes object contains 3 objects of type line.

La funzione legend offre un modo semplice di identificare le singole linee:

legend('sin(x)','sin(x-.25)','sin(x-.5)')

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent sin(x), sin(x-.25), sin(x-.5).

Impostazione degli stili di linee e colori

Quando si crea un grafico dei dati con il comando plot è possibile specificare colore, stile delle linee e marcatori (come segni 'più' o cerchi):

plot(x,y,'color_style_marker')

color_style_marker contiene da uno a quattro caratteri (racchiusi tra apici) costruiti da un colore, uno stile di linea e un tipo di marcatore. Ad esempio,

plot(x,y,'r:+')

esegue il plottaggio dei dati utilizzando una linea rossa punteggiata e inserisce un marcatore + in corrispondenza di ciascun punto di dati.

color_style_marker è composto dalla combinazione dei seguenti elementi.

TipoValoriSignificato
Colore'c'
'm'
'y'
'r'
'g'
'b'
'w'
'k'
ciano
magenta
giallo
rosso
verde
blu
bianco
nero
Stile delle linee'-'
'--'
':'
'-.'
nessun carattere
continua
tratteggiata
punteggiata
alternanza di trattini e punti
nessuna linea
Tipo di marcatore'+'
'o'
'*'
'x'
's'
'd'
'^'
'v'
'>'
'<'
'p'
'h'
nessun carattere
segno più
cerchio vuoto
asterisco
lettera x
quadrato vuoto
rombo vuoto
triangolo vuoto rivolto in alto
triangolo vuoto rivolto in basso
triangolo vuoto rivolto a destra
triangolo vuoto rivolto a sinistra
pentagramma vuoto
esagramma vuoto
nessun marcatore

Plottaggio di righe e marcatori

Se si specifica un tipo di marcatore, ma non uno stile di linea, MATLAB® crea il grafico utilizzando solo marcatori, senza linee. Ad esempio,

plot(x,y,'ks')

esegue il plottaggio di quadrati neri in corrispondenza di ciascun punto di dati, ma non collega i marcatori con una linea.

La dichiarazione

plot(x,y,'r:+')

esegue il plottaggio di una linea rossa punteggiata e inserisce dei marcatori 'più' in corrispondenza di ciascun punto di dati.

Posizionamento di marcatori ogni dieci punti di dati

Questo esempio mostra come utilizzare meno punti di dati per il plottaggio dei marcatori rispetto a quanto avviene con il plottaggio delle linee. Questo esempio esegue due volte il plottaggio dei dati utilizzando un diverso numero di punti per il plottaggio della linea punteggiata e del marcatore.

x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),'r:',x2,sin(x2),'r+')

Figure contains an axes object. The axes object contains 2 objects of type line.

Creazione di grafici a partire da dati immaginari e complessi

Quando valori complessi come argomenti vengono passati aplot, MATLAB ignora la parte immaginaria, tranne quando si passa un singolo argomento complesso. In questo caso speciale, il comando rappresenta una scorciatoia per un grafico della parte immaginaria rispetto alla parte reale. Quindi,

plot(Z)

dove Z è un vettore complesso o matrice, è equivalente a

plot(real(Z),imag(Z))

Le seguenti dichiarazioni tracciano un poligono a 20 lati con piccoli cerchi ai vertici.

t = 0:pi/10:2*pi;
plot(exp(1i*t),'-o')
axis equal

Figure contains an axes object. The axes object contains an object of type line.

Il comando axis equal imposta sulla stessa lunghezza i singoli incrementi delle tacche sugli assi x e y, il che rende questo grafico più circolare nell'aspetto.

Aggiunta di plottaggi a un grafico esistente

Il comando hold consente di aggiungere plottaggi a un grafico esistente. Quando si digita

hold on

MATLAB non sostituisce il grafico esistente quando si utilizza un altro comando di plottaggio. MATLAB combina invece il nuovo grafico con quello corrente.

Ad esempio, queste dichiarazioni creano per prima cosa un plottaggio a superficie della funzione peaks, quindi sovrappongono un plottaggio di contorno della stessa funzione.

[x,y,z] = peaks;
% Create surface plot
surf(x,y,z)
% Remove edge lines a smooth colors
shading interp
% Hold the current graph 
hold on
% Add the contour graph to the pcolor graph
contour3(x,y,z,20,'k')
% Return to default
hold off

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

Finestre delle figure

Le funzioni di plottaggio aprono automaticamente una nuova finestra delle figure, se non vi sono figure già create. Se vi sono più finestre delle figure aperte, MATLAB utilizza quella designata come "figura corrente"; solitamente si tratta dell'ultima utilizzata.

Per rendere "corrente" una finestra delle figure già esistente è possibile fare clic con il mouse mentre il puntatore si trova all'interno di quella finestra, oppure digitare

figure(n)

dove n è il numero nella barra del titolo della figura.

Per aprire una nuova finestra delle figure e renderla "corrente", digitare

figure

Eliminazione della figura per un nuovo plottaggio

Quando una figura esiste già, la maggior parte dei comandi di plottaggio cancella gli assi e utilizza questa figura per creare il nuovo grafico. Questi comandi, tuttavia, non resettano le proprietà della figura, come il colore dello sfondo o la mappatura dei colori. Se si sono impostate delle proprietà delle figure nel grafico precedente, è possibile utilizzare il comando clf con l'opzione reset,

clf reset

prima di creare il nuovo grafico per ripristinare le proprietà predefinite della figura.

Visualizzazione di più plottaggi in una figura

Il comando subplot consente di visualizzare più plottaggi nella stessa finestra, oppure di stamparli sullo stesso foglio. Digitando

subplot(m,n,p)

si suddivide la finestra delle figure in una matrice mxn di sub-plottaggi piccoli e si seleziona il pesimo sub-plottaggio. I plottaggi sono numerati lungo la prima riga della finestra delle figure, poi lungo la seconda riga e così via. Ad esempio, queste dichiarazioni effettuano il plottaggio dei dati in tre regioni secondarie della finestra delle figure.

x = 0:pi/20:2*pi;
subplot(3,1,1); plot(sin(x))
subplot(3,1,2); plot(cos(x))
subplot(3,1,3); plot(sin(x).*cos(x))

Figure contains 3 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line.

Controllo degli assi

Il comando axis offre diverse opzioni per impostare dimensioni, orientamento e rapporto dell'aspetto dei grafici.

Tacche e limiti automatici degli assi

Per impostazione predefinita, MATLAB trova i valori massimi e minimi dei dati e sceglie i limiti dell'asse da includere in questo range. MATLAB seleziona i limiti e i valori delle tacche dell'asse per creare un grafico che visualizza i dati in modo chiaro. Si possono tuttavia impostare limiti personalizzati con le funzioni axis o xlim, ylim e zlim.

Nota

Il cambiamento dei limiti degli assi può comportare la modifica di altri limiti per una miglior rappresentazione dei dati. Per disattivare l'impostazione automatica di questi limiti immettere il comando axis manual.

Impostazione dei limiti degli assi

Il comando axis consente di specificare dei limiti personalizzati:

axis([xmin xmax ymin ymax])

o, per i grafici tridimensionali,

axis([xmin xmax ymin ymax zmin zmax])

utilizzare il comando

axis auto

per attivare nuovamente la selezione dei limiti automatici.

Impostazione del rapporto dell'aspetto degli assi

Il comando axis consente anche di specificare un numero di modalità predefinite. Ad esempio,

axis square

adatta alla stessa lunghezza gli assi x e y.

axis equal

adatta alla stessa lunghezza gli incrementi delle singole tacche sugli assi x e y. Questo significa

plot(exp(1i*(0:pi/10:2*pi)))

seguito da axis square o axis equal trasforma l'ovale in un cerchio preciso:

axis auto normal

riporta il dimensionamento degli assi alla modalità automatica predefinita.

Impostazione della visibilità degli assi

È possibile utilizzare il comando axis per rendere visibile o invisibile un asse.

axis on

rende l'asse visibile. Si tratta di un'impostazione predefinita.

axis off

rende l'asse invisibile.

Impostazione delle linee della griglia

Il comando grid attiva o disattiva le linee della griglia. La dichiarazione

grid on

attiva le linee della griglia e

grid off

le riattiva nuovamente.

Aggiunta dei titoli e delle etichette degli assi

Questo esempio mostra come creare un grafico e migliorarne la presentazione:

  • Definire i limiti degli assi x e y (axis)

  • Creare un'etichetta per gli assi x e y (xlabel, ylabel)

  • Aggiungere un titolo (title)

  • Aggiungere al grafico una nota testuale (text)

Produrre simboli matematici con la notazione LaTeX.

Per informazioni sull'inserimento di frecce, riquadri e cerchi nei grafici vedere la funzione annotation.

Salvataggio delle figure

Per salvare una figura scegliere Save dal menu File. La figura, in questo modo, viene scritta in un file, che comprende dati sulle proprietà, i menu, i controlli dell'interfaccia utente e tutte le annotazioni (cioè l'intera finestra). Se la figura non è stata salvata in precedenza, appare la finestra di dialogo Save As. Questa finestra di dialogo contiene opzioni per salvare la figura come file .fig o per esportarla in un formato grafico.

Se la figura è già stata salvata in precedenza, l'uso di Save permette di salvarla di nuovo in modo "silenzioso", cioè senza che la finestra di dialogo Save As sia visualizzata nuovamente.

Per salvare una figura utilizzando un formato grafico standard da utilizzare con altre applicazioni, come TIFF o JPG, selezionare Save As (o Export Setup, per disporre di un ulteriore controllo) dal menu File.

Nota

Ogni qualvolta si specifica un formato per salvare una figura, lo stesso formato file viene utilizzato di nuovo la volta successiva in cui si salva la medesima figura o una figura nuova. Per non utilizzare lo stesso formato già utilizzato in precedenza, utilizzare Save As e accertarsi di impostare il menu a discesa Save as type sul tipo di file desiderato.

È inoltre possibile effettuare il salvataggio dalla riga dei comandi:

  • Utilizzare la funzione savefig per salvare una figura e gli oggetti grafici al suo interno in formato file .fig.

  • Utilizzare il comando saveas, incluse eventuali opzioni per salvare la figura in diversi formati.

Caricamento delle figure

È possibile caricare figure in MATLAB utilizzando le seguenti funzioni:

  • Utilizzare la funzione openfig per caricare figure salvate come file .fig.

  • Utilizzare la funzione imread per leggere i file grafici standard, incluse le figure salvate, in MATLAB.

Generazione di codice MATLAB per ricreare una figura

È possibile generare codice MATLAB che crea nuovamente una figura e il grafico al suo interno, selezionando Generate code dal menu delle figure File. Questa opzione è particolarmente utile se si è sviluppato un grafico con gli strumenti di plottaggio e si desidera creare un grafico simile utilizzando gli stessi dati, o altri dati.

Salvataggio dei dati del workspace

È possibile salvare le variabili nel workspace selezionando Save Workspace As dal menu delle figure File. È possibile ricaricare i dati salvati utilizzando l'elemento Import Data del menu delle figure File. MATLAB supporta numerosi formati file, inclusi i file di dati MATLAB, con estensione .mat.