Szukaj…


Składnia

  • fabuła (Y)

  • wykres (Y, LineSpec)

  • wykres (X, Y)

  • wykres (X, Y, LineSpec)

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

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

  • wykres (___, nazwa, wartość)

  • h = wykres (___)

Parametry

Parametr Detale
X wartości x
Y wartości y
LineSpec Styl linii, symbol znacznika i kolor określone jako ciąg
Nazwa, wartość Opcjonalne pary argumentów nazwa-wartość w celu dostosowania właściwości linii
h uchwyt do linii obiektu graficznego

Uwagi

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

Wiele linii na jednym wykresie

W tym przykładzie narysujemy wiele linii na jednej osi. Dodatkowo wybieramy inny wygląd linii i tworzymy 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');

W powyższym przykładzie narysowaliśmy linie za pomocą jednego polecenia- plot . Alternatywą jest użycie osobnych poleceń dla każdej linii. Musimy przytrzymać zawartość figury z hold on najpóźniej przed dodaniem drugiej linii. W przeciwnym razie wcześniej wykreślone linie znikną z figury. Aby utworzyć taki sam wykres jak powyżej, możemy użyć następujących poleceń:

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

Wynikowa liczba wygląda tak w obu przypadkach:

przykładowe wyjście

Linia podziału z NaNs

Przeplataj swoje wartości y lub x pomocą NaNs

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

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

plot(x)

wprowadź opis zdjęcia tutaj

Niestandardowe zamówienia kolorów i stylów linii

W MATLAB możemy ustawić nowe domyślne niestandardowe zamówienia, takie jak zamówienie kolorów i zamówienie w stylu linii. Oznacza to, że nowe zamówienia zostaną zastosowane do każdej figury utworzonej po zastosowaniu tych ustawień. Nowe ustawienia pozostają do momentu zamknięcia sesji MATLAB lub wprowadzenia nowych ustawień.

Domyślny porządek koloru i stylu linii

Domyślnie MATLAB używa kilku różnych kolorów i tylko jednolitego stylu linii. Dlatego jeśli wywoływana jest plot celu narysowania wielu linii, MATLAB przechodzi naprzemiennie przez kolejność kolorów, aby narysować linie w różnych kolorach.

wprowadź opis zdjęcia tutaj

Możemy uzyskać domyślną kolejność kolorów, wywołując get z globalnym uchwytem 0 a następnie atrybutem 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

Niestandardowa kolejność kolorów i stylów linii

Gdy zdecydujemy się ustawić niestandardową kolejność kolorów ORAZ kolejność w stylu linii, MATLAB musi zmieniać je na przemian. Pierwszą zmianą, jaką stosuje MATLAB, jest kolor. Kiedy wszystkie kolory zostaną wyczerpane, MATLAB zastosuje następny styl linii ze zdefiniowanej kolejności stylów linii i ustawi indeks kolorów na 1. Oznacza to, że MATLAB zacznie ponownie naprzemiennie wyświetlać wszystkie kolory, ale użyje następnego stylu linii w swojej kolejności. Kiedy wyczerpią się wszystkie style i kolory linii, oczywiście MATLAB zacznie cyklicznie od początku, używając pierwszego koloru i pierwszego stylu linii.

W tym przykładzie zdefiniowałem wektor wejściowy i anonimową funkcję, aby ułatwić rysowanie liczb:

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

Aby ustawić nowy kolor lub nowy styl linii, wywołujemy funkcję set z globalnym uchwytem 0 po którym następuje atrybut DefaultAxesXXXXXXX ; XXXXXXX może być ColorOrder lub LineStyleOrder . Następujące polecenie ustawia nową kolejność kolorów odpowiednio na czarny, czerwony i niebieski:

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

wprowadź opis zdjęcia tutaj

Jak widać, MATLAB zmienia na przemian tylko kolory, ponieważ kolejność stylu linii jest domyślnie ustawiona na linię ciągłą. Kiedy zestaw kolorów zostanie wyczerpany, MATLAB rozpoczyna od pierwszego koloru w kolejności kolorów.

Następujące polecenia ustawiają kolejność kolorów i stylów linii:

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

wprowadź opis zdjęcia tutaj

Teraz MATLAB zmienia na przemian różne kolory i style linii, używając koloru jako najczęstszego atrybutu.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow