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

http://www.mathworks.com/help/matlab/ref/plot.html

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:

esempio di output

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)

inserisci la descrizione dell'immagine qui

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.

inserisci la descrizione dell'immagine qui

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));

inserisci la descrizione dell'immagine qui

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));

inserisci la descrizione dell'immagine qui

Ora, MATLAB si alterna attraverso diversi colori e diversi stili di linea usando il colore come attributo più frequente.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow