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

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

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:

exempel utgång

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)

ange bildbeskrivning här

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.

ange bildbeskrivning här

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

ange bildbeskrivning här

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

ange bildbeskrivning här

Nu växlar MATLAB genom olika färger och olika linjestilar med färg som vanligaste attribut.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow