MATLAB Language
Grafiken: 2D-Liniendiagramme
Suche…
Syntax
Grundstück (Y)
Auftrag (Y, LineSpec)
Diagramm (X, Y)
Auftrag (X, Y, LineSpec)
Auftragung (X1, Y1, X2, Y2, ..., Xn, Yn)
Auftrag (X1, Y1, LineSpec1, X2, Y2, LineSpec2, ..., Xn, Yn, LineSpecn)
Auftrag (___, Name, Wert)
h = Auftrag (___)
Parameter
Parameter | Einzelheiten |
---|---|
X | x-Werte |
Y | y-Werte |
LineSpec | Linienstil, Markierungssymbol und Farbe, als Zeichenfolge angegeben |
Name, Wert | Optionale Paare von Name-Wert-Argumenten zum Anpassen von Linieneigenschaften |
h | Handle auf Grafikobjekt |
Bemerkungen
Mehrere Zeilen in einem Diagramm
In diesem Beispiel zeichnen wir mehrere Linien auf einer einzelnen Achse. Außerdem wählen wir ein anderes Erscheinungsbild für die Linien und erstellen eine Legende.
% 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 dem obigen Beispiel aufgetragen wir die Linien mit einem einzigen plot
-command. Alternativ können Sie für jede Zeile separate Befehle verwenden. Wir brauchen den Inhalt einer Figur mit halten , hold on
dem neuesten , bevor wir die zweite Zeile hinzufügen. Ansonsten verschwinden die zuvor gezeichneten Linien aus der Abbildung. Um das gleiche Diagramm wie oben zu erstellen, können wir die folgenden Befehle verwenden:
figure; hold on;
plot(x,y1);
plot(x,y2,'--');
plot(x,y3,'-.');
Die resultierende Figur sieht in beiden Fällen so aus:
Linie mit NaNs trennen
Verschachteln Sie Ihre y
oder x
Werte mit NaNs
x = [1:5; 6:10]';
x(3,2) = NaN
x =
1 6
2 7
3 NaN
4 9
5 10
plot(x)
Kundenspezifische Farb- und Linienstilbestellungen
In MATLAB können wir neue benutzerdefinierte Standardaufträge festlegen, z. B. eine Farbreihenfolge und eine Linienstilreihenfolge. Das bedeutet, dass neue Aufträge auf alle Zahlen angewendet werden, die nach dem Anwenden dieser Einstellungen erstellt werden. Die neuen Einstellungen bleiben so lange erhalten, bis die MATLAB-Sitzung geschlossen wird oder neue Einstellungen vorgenommen wurden.
Standardfarbe und Linienstilreihenfolge
Standardmäßig verwendet MATLAB verschiedene Farben und nur einen durchgehenden Linienstil. Wenn ein plot
zum Zeichnen mehrerer Linien aufgerufen wird, wechselt MATLAB daher in einer Farbreihenfolge, um Linien in verschiedenen Farben zu zeichnen.
Wir können die Standardfarbreihenfolge erhalten, indem Sie get
mit einem globalen Handle 0
gefolgt von diesem 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
Benutzerdefinierte Farb- und Linienstilreihenfolge
Wenn wir uns entschieden haben, eine benutzerdefinierte Farbreihenfolge UND eine Linienstilreihenfolge festzulegen, muss MATLAB durch beide Einstellungen wechseln. Die erste Änderung, die MATLAB anwendet, ist eine Farbe. Wenn alle Farben aufgebraucht sind, wendet MATLAB den nächsten Linienstil aus einer definierten Linienstilreihenfolge an und setzt einen Farbindex auf 1. Das bedeutet, dass MATLAB wieder alle Farben durchläuft, jedoch den nächsten Linienstil in seiner Reihenfolge. Wenn alle Linienstile und Farben erschöpft sind, beginnt MATLAB offensichtlich von Anfang an mit der ersten Farbe und dem ersten Linienstil.
Für dieses Beispiel habe ich einen Eingabevektor und eine anonyme Funktion definiert, um das Zeichnen von Zahlen ein wenig zu erleichtern:
F = @(a,x) bsxfun(@plus, -0.2*x(:).^2, a);
x = (-5:5/100:5-5/100)';
Um eine neue Farbe oder eine neue Linienstilreihenfolge DefaultAxesXXXXXXX
, rufen wir set
function mit einem globalen Handle 0
gefolgt von einem Attribut DefaultAxesXXXXXXX
. XXXXXXX
kann entweder ColorOrder
oder LineStyleOrder
. Mit dem folgenden Befehl wird eine neue Farbreihenfolge auf Schwarz, Rot und Blau festgelegt:
set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
plot(x, F([1 2 3 4 5 6],x));
Wie Sie sehen, wechselt MATLAB nur durch Farben, da die Linienstilreihenfolge standardmäßig auf eine durchgehende Linie festgelegt ist. Wenn ein Satz von Farben erschöpft ist, beginnt MATLAB mit der ersten Farbe in der Farbreihenfolge.
Die folgenden Befehle legen die Farb- und Linienstilreihenfolge fest:
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));
Jetzt wechselt MATLAB durch verschiedene Farben und verschiedene Linienstile, wobei Farbe als häufigstes Attribut verwendet wird.