MATLAB Language
Grafik: 2D-linjer
Sök…
Syntax
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 (___, Namn, värde)
h = tomt (___)
parametrar
Parameter | detaljer |
---|---|
X | x-värden |
Y | y-värden |
LineSpec | Radstil, markörsymbol och färg, specificerad som en sträng |
Namn, Värde | Valfria par med namnvärdeargumenter för att anpassa radegenskaper |
h | handtag till linje grafikobjekt |
Anmärkningar
Flera rader i en enda tomt
I detta exempel kommer vi att plotta flera linjer på en enda axel. Dessutom väljer vi ett annat utseende för linjerna och skapar en legend.
% 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');
I exemplet ovan ritade vi raderna med en enda plot
-kommando. Ett alternativ är att använda separata kommandon för varje rad. Vi måste hålla innehållet i en figur med hold on
den senaste innan vi lägger den andra raden. Annars försvinner de tidigare plottade linjerna från figuren. För att skapa samma plot som ovan kan vi använda följande kommandon:
figure; hold on;
plot(x,y1);
plot(x,y2,'--');
plot(x,y3,'-.');
Den resulterande siffran ser så här ut i båda fallen:
Delad linje med NaNs
Interleave dina y
eller x
värden med NaNs
x = [1:5; 6:10]';
x(3,2) = NaN
x =
1 6
2 7
3 NaN
4 9
5 10
plot(x)
Anpassade färger och linjestilorder
I MATLAB kan vi ställa in nya standardanpassade beställningar, till exempel en färgordning och en ordningsföljd. Det betyder att nya beställningar kommer att tillämpas på alla siffror som skapas efter att dessa inställningar har tillämpats. De nya inställningarna kvarstår tills MATLAB-sessionen är stängd eller nya inställningar har gjorts.
Standardfärg och linjestilordning
Som standard använder MATLAB ett par olika färger och endast en solid linjestil. Därför, om plot
kallas för att rita flera linjer, växlar MATLAB genom en färgordning för att rita linjer i olika färger.
Vi kan få standardfärgsbeställningen genom att ringa get
med ett globalt handtag 0
följt av detta attribut 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
Anpassad färg och linjestilorder
När vi har bestämt oss för att ange en anpassad färgordning OCH linjestil måste MATLAB växla mellan båda. Den första ändringen som MATLAB gäller är en färg. När alla färger är utmattade tillämpar MATLAB nästa radstil från en definierad linjestilordning och sätter ett färgindex till 1. Det betyder att MATLAB börjar växla igenom alla färger igen men använder nästa linjestil i sin ordning. När alla linjestilar och färger är uttömda, börjar naturligtvis MATLAB cykla från början med den första färgen och den första linjestilen.
I det här exemplet har jag definierat en inmatningsvektor och en anonym funktion för att göra ritningar av figurer lite enklare:
F = @(a,x) bsxfun(@plus, -0.2*x(:).^2, a);
x = (-5:5/100:5-5/100)';
För att ställa in en ny färg eller en ny linjestilorder, kallar vi set
funktion med ett globalt handtag 0
följt av ett attribut DefaultAxesXXXXXXX
; XXXXXXX
kan antingen vara ColorOrder
eller LineStyleOrder
. Följande kommando sätter en ny färgordning till svart, röd respektive blå:
set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
plot(x, F([1 2 3 4 5 6],x));
Som du ser växlar MATLAB endast genom färger eftersom linjestilordning är inställd på en solid linje som standard. När en uppsättning färger är uttömd, startar MATLAB från den första färgen i färgordning.
Följande kommandon anger både färg- och linjestilorder:
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 växlar MATLAB genom olika färger och olika linjestilar med färg som vanligaste attribut.