Streudiagramm in MATLAB (2025)

Streudiagramm in MATLAB (1)

In diesem Tutorial wird die Erstellung eines Streudiagramms mit der Funktion scatter() in MATLAB erläutert.

Erstellen Sie ein Streudiagramm mit der Funktion scatter() in MATLAB

Die Funktion scatter(x,y) erstellt ein Streudiagramm an der Stelle, die durch die Eingabevektoren x und y angegeben wird. Standardmäßig verwendet die Funktion scatter() kreisförmige Markierungen, um die angegebenen Daten zu zeichnen. Lassen Sie uns zum Beispiel die Funktion scatter() verwenden, um ein Streudiagramm der gegebenen Daten zu erstellen. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100); scatter(x,y)

Ausgabe:

Streudiagramm in MATLAB (2)

Die in den Variablen x und y gespeicherten Daten werden verwendet, um ein Streudiagramm in der Ausgabe zu erstellen. Stellen Sie sicher, dass die Länge der Variablen x und y gleich sein sollte. Andernfalls zeigt MATLAB einen Fehler an. Standardmäßig verwendet die Funktion scatter() den Standardwert für die Größe und Farbe der Kreise, aber wir können die Standardeigenschaften der Funktion ändern. Um beispielsweise die Größe der Kreise zu ändern, müssen wir die Größe der Kreise als drittes Argument innerhalb der Funktion scatter() definieren. Lassen Sie uns zum Beispiel die Größe der Kreise im obigen Diagramm ändern. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100); scatter(x,y,10)

Ausgabe:

Streudiagramm in MATLAB (3)

Die Größe der Kreise in der obigen Ausgabe unterscheidet sich von der Größe der Kreise im vorherigen Streudiagramm. Die Größe sollte ein positiver numerischer Wert oder ein Vektor der gleichen Größe wie die Eingabevektoren x und y sein. Wenn die Größe wie im obigen Code ein einzelner positiver numerischer Wert ist, gilt sie für alle im Streudiagramm vorhandenen Kreise. Wir können auch jedem Kreis einen anderen Größenwert geben, indem wir einen Vektor der gleichen Länge wie die Eingabevektoren x und y verwenden. Ändern wir beispielsweise die Größe jedes Kreises im obigen Streudiagramm. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;scatter(x,y,CSize)

Ausgabe:

Streudiagramm in MATLAB (4)

In der obigen Ausgabe hat jeder Kreis eine andere Größe. Wir können auch die Farbe der Kreise im Streudiagramm ändern, indem wir sie als viertes Argument in der Funktion scatter() übergeben. Ändern wir beispielsweise die Farbe der Kreise im obigen Streudiagramm in Schwarz. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;scatter(x,y,CSize,[0 0 0])

Ausgabe:

Streudiagramm in MATLAB (5)

Im obigen Streudiagramm ist die Farbe der Kreise schwarz, aber wir können ihr eine beliebige Farbe zuweisen, indem wir den RGB-Wert dieser Farbe als viertes Argument in die Funktion scatter() eingeben. Wir können die Farbe auch ändern, indem wir den Farbnamen als String in der Funktion scatter() übergeben. Wenn wir nur einen Farbwert definieren, wird dieser auf alle im Streudiagramm vorhandenen Kreise angewendet. Wir können auch jedem Kreis eine andere Farbe geben, indem wir eine Matrix derselben Größe wie die Eingabevektoren x und y verwenden. Die Matrix kann positive Zahlenwerte oder RGB-Farbtripel enthalten. Ändern wir beispielsweise die Farbe jedes Kreises im obigen Streudiagramm. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;CColor = 100:-1:1;scatter(x,y,CSize,CColor)colorbar

Ausgabe:

Streudiagramm in MATLAB (6)

Der Befehl colorbar wird im obigen Code verwendet, um einen Farbbalken im Streudiagramm zu zeichnen. An der Farbleiste können wir erkennen, dass die niedrigen Werte zur kälteren Farbe gehören und die hohen Werte zur wärmeren Farbe. Wir haben in diesem Beispiel einen Vektor mit positiven Zahlenwerten verwendet, können aber auch eine Matrix mit RGB-Triplettwerten verwenden. Die Kreise sind in den obigen Streudiagrammen hohl, aber wir können sie auch mit der Eigenschaft gefüllt in der Funktion scatter() füllen. Lassen Sie uns zum Beispiel die Kreise im obigen Streudiagramm füllen. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;CColor = 100:-1:1;scatter(x,y,CSize,CColor,'filled')colorbar

Ausgabe:

Streudiagramm in MATLAB (7)

In der Ausgabe wird jede Farbe gefüllt. Wir können auch das Markierungssymbol im Streudiagramm ändern. Standardmäßig verwendet die Funktion scatter() den Kreis als Marker, aber wir können ihn ändern, indem wir einen String übergeben, der das Marker-Symbol enthält, wie d für Raute, p für das Pentagramm, h für das Hexagramm , und so weiter. Lassen Sie uns zum Beispiel das Markierungssymbol im obigen Streudiagramm von Kreis zu Pentagramm ändern. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;CColor = 100:-1:1;scatter(x,y,CSize,CColor,'p')

Ausgabe:

Streudiagramm in MATLAB (8)

In der Ausgabe wird das Markersymbol in ein Pentagramm geändert. Wir können die Transparenz des Markers auch mit der Eigenschaft MarkerFaceAlpha in der Funktion scatter() verändern. Wir können den Transparenzwert von 0 auf 1 ändern. Ändern wir beispielsweise die Transparenz des obigen Streudiagramms auf 0,5. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;CColor = 100:-1:1;scatter(x,y,CSize,CColor,'filled','MarkerFaceAlpha',0.5)

Ausgabe:

Streudiagramm in MATLAB (9)

In der Ausgabe hat der Marker dieselbe Kanten- und Gesichtsfarbe, aber wir können dem Marker eine andere Kanten- und Gesichtsfarbe geben. Um die Kantenfarbe des Markers zu ändern, können wir die Eigenschaft MarkerEdgeColor innerhalb des Plots scatter() verwenden. Um die Gesichtsfarbe des Markers zu ändern, können wir die Eigenschaft MarkerFaceColor verwenden. Der Farbwert kann ein beliebiges RGB-Triplet oder ein String sein, der den Farbnamen enthält. Mit der Eigenschaft LineWidth können wir auch die Linienbreite des Markerrandes verändern. Ändern wir beispielsweise die Kantenfarbe, die Gesichtsfarbe und die Linienbreite der Markierung im obigen Streudiagramm. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);CSize = 1:100;scatter(x,y,CSize,'MarkerFaceColor','yellow','MarkerEdgeColor','black','LineWidth',1.5)

Ausgabe:

Streudiagramm in MATLAB (10)

In der Ausgabe ist die Farbe der Markierungsfläche gelb und die Kantenfarbe ist schwarz. Wenn wir ein 3D-Streudiagramm erstellen möchten, können wir die Funktion scatter3() verwenden. Diese Funktion ist die gleiche wie die Funktion scatter(), außer dass sie die gegebenen Daten in einer 3D-Ebene darstellt. Wir können der Funktion scatter3() zwei oder drei Eingabevektoren geben. Bei drei Eingaben enthält der erste Vektor die x-Koordinaten, der zweite die y-Koordinaten und der dritte die z-Koordinaten. Bei zwei Eingabevektoren wird die dritte Koordinate z aus den Indizes der ersten beiden Koordinaten genommen. Lassen Sie uns zum Beispiel das obige Streudiagramm in 3D mit der Funktion scatter3() zeichnen. Siehe den Code unten.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);z = 1:100;scatter3(x,y,z)

Ausgabe:

Streudiagramm in MATLAB (11)

Ebenso wie bei der Funktion scatter() können wir die Eigenschaften der Funktion scatter3() ändern.

Streudiagramm in MATLAB (2025)

FAQs

How to set marker size in MATLAB? ›

Specify Marker Size and Color

Customize the markers by setting these properties using name-value pair arguments with the plot function: MarkerSize - Marker size, which is specified as a positive value. MarkerEdgeColor - Marker outline color, which is specified as a color name or an RGB triplet.

Can you plot matrices in MATLAB? ›

plotmatrix( X , Y ) creates a matrix of subaxes containing scatter plots of the columns of X against the columns of Y . If X is p-by-n and Y is p-by-m, then plotmatrix produces an n-by-m matrix of subaxes.

What is the default marker size in MATLAB scatter? ›

The size controls the area of each marker in points squared. An empty array specifies the default size of 36 points.

How to change marker line width in MATLAB? ›

Modify Line Width, Marker Fill, and Marker Outline

To create a thicker line, you can specify the LineWidth as a name-value argument when you call the plot function. In this case, set the LineWidth to 3 . Return the Line object as p so you can set other properties later.

How do you draw a smooth line of best fit? ›

The line should not join the data points together, but instead aim to have an equal amount on either side of the line or pass through as many points as possible.

How do you fit a line through a point in MATLAB? ›

Direct link to this answer
  1. coefficients = polyfit(x, y, 1);
  2. %xFit = x; % Option 1 : same number of points as the training set.
  3. xFit = linspace(min(x), max(x), 2000); % Option 2 : lots of points, and not just where the training points are.
  4. yFit = polyval(coefficients, xFit);
Nov 3, 2020

Is MATLAB good for matrices? ›

One area in which MATLAB excels is matrix computation. Creating a matrix is as easy as making a vector, using semicolons (;) to separate the rows of a matrix.

How to draw a matrix in MATLAB? ›

To create a matrix that has multiple rows, separate the rows with semicolons. Another way to create a matrix is to use a function, such as ones , zeros , or rand . For example, create a 5-by-1 column vector of zeros.

How to plot GPS coordinates in MATLAB? ›

geoplot( lat , lon ) plots a line in geographic coordinates. Specify latitude coordinates in degrees using lat , and specify longitude coordinates in degrees using lon . If the current axes is not a geographic or map axes, or if there is no current axes, then the function plots the line in a new geographic axes.

How to create 3D geometry in MATLAB? ›

Use multicuboid , multicylinder , or multisphere to create a 3-D geometry. Then assign the resulting geometry to the Geometry property of the model. For example, create a PDE model and add the following geometry formed by three spheres to the model. model = createpde; gm = multisphere([1,2,3]); model.

What is r in MATLAB plot? ›

"r--" is a line specification. Each specification can include characters for the line color, style, and marker. A marker is a symbol that appears at each plotted data point, such as a + , o , or * . For example, " g:*" requests a dotted green line with * markers.

How do you assign a size to a variable in MATLAB? ›

For MATLAB Function blocks, to declare variable-size output variables, use the Symbols pane and Property Inspector. See Declare Variable-Size MATLAB Function Block Variables. If you provide upper bounds in a coder. varsize declaration, the upper bounds must match the upper bounds in the Property Inspector.

How do I change the size of a dot in MATLAB? ›

Direct link to this answer
  1. Open the fig file in MATLAB.
  2. Click on a marker to select them.
  3. Open the property inspector.
  4. Expand the Markers section and modify the value in the MarkerSize field.
Aug 20, 2020

How do I change the size of labels in MATLAB? ›

To change the font size, set the "FontSize" property for the axes. Since many plotting functions reset axes properties, including the font size, set the "FontSize" property after plotting. For example, the code below sets the font size to 16 points. The tick labels use the specified font size.

How do you change the marker size of a scatter plot? ›

One way to adjust the marker size in a scatter plot is by using the 's' parameter in the plt. scatter() function. The 's' parameter allows you to specify the size of the markers in points. In this example, we have defined three lists: 'x', 'y', and 'marker_size'.

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Van Hayes

Last Updated:

Views: 5237

Rating: 4.6 / 5 (46 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Van Hayes

Birthday: 1994-06-07

Address: 2004 Kling Rapid, New Destiny, MT 64658-2367

Phone: +512425013758

Job: National Farming Director

Hobby: Reading, Polo, Genealogy, amateur radio, Scouting, Stand-up comedy, Cryptography

Introduction: My name is Van Hayes, I am a thankful, friendly, smiling, calm, powerful, fine, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.