Zoeken…


Syntaxis

  • plot (Y)

  • plot (Y, LineSpec)

  • plot (X, Y)

  • plot (X, Y, LineSpec)

  • plot (X1, Y1, X2, Y2, ..., Xn, Yn)

  • plot (X1, Y1, LineSpec1, X2, Y2, LineSpec2, ..., Xn, Yn, LineSpecn)

  • plot (___, naam, waarde)

  • h = plot (___)

parameters

Parameter Details
X x-waarden
Y y-waarden
LineSpec Lijnstijl, markeringssymbool en kleur, opgegeven als een tekenreeks
Naam, Waarde Optionele paren naam-waarde argumenten om lijneigenschappen aan te passen
h handvat naar lijn grafisch object

Opmerkingen

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

Meerdere lijnen in één plot

In dit voorbeeld gaan we meerdere lijnen op een enkele as plotten. Bovendien kiezen we een ander uiterlijk voor de lijnen en maken we een 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');

In het bovenstaande voorbeeld hebben we de lijnen uitgezet met een enkele plot -opdracht. Een alternatief is om afzonderlijke opdrachten voor elke regel te gebruiken. We moeten de inhoud van een figuur te houden met hold on de laatste voordat we de tweede regel toe te voegen. Anders verdwijnen de eerder geplotte lijnen uit de figuur. Om dezelfde plot als hierboven te maken, kunnen we deze volgende opdrachten gebruiken:

figure; hold on;
plot(x,y1);
plot(x,y2,'--');
plot(x,y3,'-.');

Het resulterende cijfer ziet er in beide gevallen als volgt uit:

voorbeelduitvoer

Splitlijn met NaNs

Interleave uw y of x waarden met NaNs

x = [1:5; 6:10]';

x(3,2) = NaN
x =
     1     6
     2     7
     3   NaN
     4     9
     5    10

plot(x)

voer hier de afbeeldingsbeschrijving in

Aangepaste kleur- en lijnstijlorders

In MATLAB kunnen we nieuwe standaard aangepaste bestellingen instellen, zoals een kleurvolgorde en een lijnstijlvolgorde. Dat betekent dat nieuwe orders worden toegepast op elk cijfer dat wordt gemaakt nadat deze instellingen zijn toegepast. De nieuwe instellingen blijven van kracht totdat de MATLAB-sessie wordt afgesloten of er nieuwe instellingen zijn gemaakt.

Standaard kleur en lijnstijl volgorde

MATLAB gebruikt standaard een paar verschillende kleuren en alleen een ononderbroken lijnstijl. Als plot wordt opgeroepen om meerdere lijnen te tekenen, wisselt MATLAB daarom door een kleurvolgorde om lijnen in verschillende kleuren te tekenen.

voer hier de afbeeldingsbeschrijving in

We kunnen de standaardkleurvolgorde verkrijgen door get met een globale handle 0 aan te roepen, gevolgd door dit kenmerk 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

Aangepaste kleur en lijnstijl volgorde

Zodra we hebben besloten een aangepaste kleurvolgorde EN lijnstijlvolgorde in te stellen, moet MATLAB deze beide afwisselen. De eerste wijziging die MATLAB toepast, is een kleur. Wanneer alle kleuren zijn uitgeput, past MATLAB de volgende lijnstijl uit een gedefinieerde lijnstijlvolgorde toe en stelt een kleurindex in op 1. Dat betekent dat MATLAB opnieuw door alle kleuren begint te wisselen, maar de volgende lijnstijl in zijn volgorde gebruikt. Wanneer alle lijnstijlen en kleuren zijn uitgeput, begint MATLAB uiteraard vanaf het begin te fietsen met de eerste kleur en de eerste lijnstijl.

Voor dit voorbeeld heb ik een invoervector en een anonieme functie gedefinieerd om het plotten van cijfers een beetje eenvoudiger te maken:

F = @(a,x) bsxfun(@plus, -0.2*x(:).^2, a);
x = (-5:5/100:5-5/100)';

Om een nieuwe kleur of een nieuwe lijnstijlvolgorde in te stellen, noemen we de set functie met een globale handle 0 gevolgd door een attribuut DefaultAxesXXXXXXX ; XXXXXXX kan ColorOrder of LineStyleOrder . Met de volgende opdracht wordt een nieuwe kleurvolgorde ingesteld op respectievelijk zwart, rood en blauw:

set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
plot(x, F([1 2 3 4 5 6],x));

voer hier de afbeeldingsbeschrijving in

Zoals u ziet, wisselt MATLAB alleen af door kleuren, omdat de volgorde van de lijnstijl standaard is ingesteld op een ononderbroken lijn. Wanneer een set kleuren is uitgeput, begint MATLAB vanaf de eerste kleur in de kleurvolgorde.

De volgende opdrachten stellen zowel kleur- als lijnstijlvolgorde in:

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

voer hier de afbeeldingsbeschrijving in

Nu wisselt MATLAB af door verschillende kleuren en verschillende lijnstijlen met kleur als meest voorkomende kenmerk.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow