MATLAB Language
Grafische kaart: 2D-lijnplots
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
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:
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)
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.
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));
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));
Nu wisselt MATLAB af door verschillende kleuren en verschillende lijnstijlen met kleur als meest voorkomende kenmerk.