3D-Linien- oder Punktdiagramm in MATLAB

Ammar Ali 15 Februar 2024
3D-Linien- oder Punktdiagramm in MATLAB

In diesem Tutorial wird die Erstellung eines 3D-Plots von Punkt oder Linie mit der Funktion plot3() in MATLAB erläutert.

Erstellen Sie einen 3D-Plot eines Punktes oder einer Linie mit der Funktion plot3() in MATLAB

Wir kennen bereits die Funktion plot() in MATLAB, die zum Plotten von Daten auf einer 2D-Ebene verwendet wird.

Die Funktion plot3() ähnelt der Funktion plot(). Der einzige Unterschied besteht darin, dass die Funktion plot3() Daten auf einer 3D-Ebene zeichnet.

Wir können Daten als Linie darstellen, die als kontinuierliches Diagramm bezeichnet wird, und als Punkte, die auch als diskretes Diagramm bezeichnet wird. Wir müssen drei Koordinaten x, y und z übergeben, um die Daten auf einer 3D-Ebene darzustellen.

Zeichnen wir zum Beispiel eine Helix in 3D mit der Funktion plot3(). Siehe den Code unten.

clc
t = 0:pi/50:10*pi;
sinet = sin(t);
cost = cos(t);
plot3(sinet,cost,t)

Ausgabe:

Helix auf 3D-Plot

Wir können auch mehrere Linien gleichzeitig zeichnen, indem wir mehrere Eingaben innerhalb der Funktion plot3() verwenden.

Zeichnen wir zum Beispiel zwei Linien mit sechs Eingaben und der Funktion plot3(). Siehe den Code unten.

clc
time = 0:pi/500:pi;
xs1 = sin(time).*cos(10*time);
ys1 = sin(time).*sin(10*time);
zs1 = cos(time);

xs2 = sin(time).*cos(12*time);
ys2 = sin(time).*sin(12*time);
zs2 = cos(time);
plot3(xs1,ys1,zs1,xs2,ys2,zs2)

Ausgabe:

mehrere Liniendiagramme mit plot3

Bei mehreren Zeilen gibt die Funktion plot3() jeder Zeile eine andere Farbe. Wir können auch die Funktion legend() verwenden, um jeder Zeile einen eindeutigen Namen zu geben. Weitere Informationen zu Legenden in MATLAB finden Sie unter diesem Link.

Anstatt sechs Argumente zu übergeben, können Sie die Koordinaten mehrerer Daten in einer einzigen Matrix speichern.

Im obigen Fall können wir beispielsweise die x-Koordinate aller Daten in einer einzelnen Matrix als Spalten speichern, und das gleiche gilt für den Rest der Koordinaten. Dann müssen wir nur noch drei Eingänge übergeben.

Wir können auch jeder Achse des 3D-Plots Beschriftungen hinzufügen, indem wir die Funktion xlabel() für die Beschriftung der x-Achse, ylabel() für die Beschriftung der y-Achse und label() für die Beschriftung der z-Achse verwenden . Wir können dem Titel auch den Plot mit der Funktion title() geben.

Wir können die Linie sogar in Punkte für eine diskrete Darstellung ändern, indem wir verschiedene Markierungen wie o für Kreis, + für das Pluszeichen, * für Sternchen und d für Raute verwenden.

Lassen Sie uns beispielsweise das obige Diagramm in diskreter Form zeichnen und dem Diagramm Beschriftungen und Titel hinzufügen. Siehe den Code unten.

clc
time = 0:pi/500:pi;
xs1 = sin(time).*cos(10*time);
ys1 = sin(time).*sin(10*time);
zs1 = cos(time);

xs2 = sin(time).*cos(12*time);
ys2 = sin(time).*sin(12*time);
zs2 = cos(time);
plot3(xs1,ys1,zs1,'+',xs2,ys2,zs2,'d')
legend('Line1','Line2')
axis equal
xlabel('x(t)')
ylabel('y(t)')
zlabel('z(t)')
title('3D line plot')

Ausgabe:

Plot mit plot3 trennen

Wir können auch andere Eigenschaften ändern, wie den Linienstil mit der Eigenschaft LineStyle, die Linienfarbe mit der Eigenschaft Color, die Linienbreite mit der Eigenschaft LineWidth, die Markergröße mit der Eigenschaft MarkerSize, die Kantenfarbe der Marker mit der MarkerEdgeColor-Eigenschaft, Marker-Gesichtsfarbe oder Marker-Füllfarbe mit der Eigenschaft MarkerFaceColor.

Mit der Eigenschaft LineSpec können wir auch den Linienstil, die Markierung und die Farbe gleichzeitig ändern. Lassen Sie uns beispielsweise einige Eigenschaften des obigen Diagramms ändern. Siehe den Code unten.

clc
time = 0:pi/500:pi;
xs1 = sin(time).*cos(10*time);
ys1 = sin(time).*sin(10*time);
zs1 = cos(time);

plot3(xs1,ys1,zs1,'LineStyle','--','Color','red','LineWidth',3)
legend('Line1','Line2')
axis equal
xlabel('x(t)')
ylabel('y(t)')
zlabel('z(t)')
title('3D line plot')

Ausgabe:

Ändern der Eigenschaften von Plot3

Die von uns unterstützten Linienstile der Funktion plot3() sind - für eine durchgezogene Linie, -- für eine gestrichelte Linie, : für eine gepunktete Linie, -. für die strichpunktierte Linie. Wir können den Namen der Farbe oder den RGB-Triplettwert verwenden, um die Farbe der Linie oder des Markers zu ändern.

Die Standardlinienbreite beträgt 0,5, aber wir können ihren Wert mit jedem positiven Wert festlegen. Der Wert für die Markergröße beträgt standardmäßig sechs, wir können ihn jedoch in einen beliebigen positiven Wert ändern.

Standardmäßig ist die Markerkantenfarbe auf auto und die Markergesichtsfarbe auf none eingestellt, aber wir können den Markern jede Farbe zuweisen, indem wir den Farbnamen oder den RGB-Triplettwert verwenden.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - MATLAB Plot

Verwandter Artikel - MATLAB 3D Plot