MATLAB Language
Grafica: grafici a linee 2D
Ricerca…
Sintassi
plot (Y)
plot (Y, LineSpec)
plot (X, Y)
plot (X, Y, LineSpec)
trama (X1, Y1, X2, Y2, ..., Xn, Yn)
grafico (X1, Y1, LineSpec1, X2, Y2, LineSpec2, ..., Xn, Yn, LineSpecn)
trama (___, nome, valore)
h = plot (___)
Parametri
Parametro | Dettagli |
---|---|
X | valori x |
Y | valori y |
LineSpec | Stile della linea, simbolo del marcatore e colore, specificato come una stringa |
Nome, Valore | Coppie facoltative di argomenti nome-valore per personalizzare le proprietà della linea |
h | gestire per allineare l'oggetto grafico |
Osservazioni
Più linee in un singolo grafico
In questo esempio abbiamo intenzione di tracciare più linee su un singolo asse. Inoltre, scegliamo un aspetto diverso per le linee e creiamo una legenda.
% create sample data
x = linspace(-2,2,100); % 100 linearly spaced points from -2 to 2
y1 = x.^2;
y2 = 2*x.^2;
y3 = 4*x.^2;
% create plot
figure; % open new figure
plot(x,y1, x,y2,'--', x,y3,'-.'); % plot lines
grid minor; % add minor grid
title('Quadratic functions with different curvatures');
xlabel('x');
ylabel('f(x)');
legend('f(x) = x^2', 'f(x) = 2x^2', 'f(x) = 4x^2', 'Location','North');
Nell'esempio sopra, abbiamo tracciato le linee con un solo comando- plot
. Un'alternativa è usare comandi separati per ogni linea. Dobbiamo tenere il contenuto di una figura tenendo hold on
l'ultimo prima di aggiungere la seconda riga. Altrimenti le linee tracciate in precedenza spariranno dalla figura. Per creare lo stesso grafico come sopra, possiamo usare questi seguenti comandi:
figure; hold on;
plot(x,y1);
plot(x,y2,'--');
plot(x,y3,'-.');
La figura risultante appare così in entrambi i casi:
Linea divisa con NaNs
Interlaccia i tuoi valori y
o x
con i NaNs
x = [1:5; 6:10]';
x(3,2) = NaN
x =
1 6
2 7
3 NaN
4 9
5 10
plot(x)
Ordini personalizzati di colori e linee
In MATLAB, possiamo impostare nuovi ordini personalizzati di default , come un ordine di colore e uno stile di linea. Ciò significa che verranno applicati nuovi ordini a qualsiasi figura creata dopo aver applicato queste impostazioni. Le nuove impostazioni rimangono fino alla chiusura della sessione MATLAB o alla creazione di nuove impostazioni.
Colore predefinito e ordine di stile della linea
Per impostazione predefinita, MATLAB utilizza un paio di colori diversi e solo uno stile di linea continua. Pertanto, se viene chiamato il plot
per disegnare più linee, MATLAB si alterna attraverso un ordine di colore per disegnare linee in diversi colori.
Possiamo ottenere l'ordine dei colori predefinito chiamando get
con un handle globale 0
seguito da questo attributo DefaultAxesColorOrder
:
>> get(0, 'DefaultAxesColorOrder')
ans =
0 0.4470 0.7410
0.8500 0.3250 0.0980
0.9290 0.6940 0.1250
0.4940 0.1840 0.5560
0.4660 0.6740 0.1880
0.3010 0.7450 0.9330
0.6350 0.0780 0.1840
Colore personalizzato e ordine di stile delle linee
Una volta deciso di impostare un ordine di colore personalizzato e un ordine di stile di linea, MATLAB deve alternarsi in entrambi. Il primo cambiamento che MATLAB applica è un colore. Quando tutti i colori sono esauriti, MATLAB applica lo stile di linea successivo a un ordine di stile di linea definito e imposta un indice di colore su 1. Ciò significa che MATLAB inizierà a alternare nuovamente tutti i colori, ma utilizzando lo stile di linea successivo nel suo ordine. Quando tutti gli stili e i colori delle linee sono esauriti, ovviamente MATLAB inizia a pedalare dall'inizio usando il primo colore e lo stile della prima linea.
Per questo esempio, ho definito un vettore di input e una funzione anonima per semplificare un po 'le figure di plottaggio:
F = @(a,x) bsxfun(@plus, -0.2*x(:).^2, a);
x = (-5:5/100:5-5/100)';
Per impostare un nuovo colore o un nuovo ordine di stile di linea, chiamiamo la funzione set
con un handle globale 0
seguito da un attributo DefaultAxesXXXXXXX
; XXXXXXX
può essere ColorOrder
o LineStyleOrder
. Il seguente comando imposta un nuovo ordine di colore su nero, rosso e blu, rispettivamente:
set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
plot(x, F([1 2 3 4 5 6],x));
Come puoi vedere, MATLAB si alterna solo attraverso i colori perché l'ordine dello stile di linea è impostato su una linea continua per impostazione predefinita. Quando una serie di colori è esaurita, MATLAB inizia dal primo colore nell'ordine dei colori.
I seguenti comandi impostano sia gli ordini di colore che quelli di stile di linea:
set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
set(0, 'DefaultAxesLineStyleOrder', {'-' '--'});
plot(x, F([1 2 3 4 5 6],x));
Ora, MATLAB si alterna attraverso diversi colori e diversi stili di linea usando il colore come attributo più frequente.