Streudiagramme mit pgfplots
Fügen Sie einem \addplot in einer pgfplots-axis die Option only marks hinzu, damit die Punkte ohne Linien gezeichnet werden; wählen Sie die Form mit mark= und lesen Sie die Punkte aus Koordinaten oder einer Tabelle.
Punkte ohne Linien
Ein Streudiagramm ist eine Reihe, die nur mit Markierungen gezeichnet wird. Fügen Sie dem \addplot only marks hinzu, mit +, um Farbe und Markierung der Zyklusliste zu behalten.
Zwei Gruppen von Punkten
\begin{tikzpicture}
\begin{axis}[xlabel={Height (m)}, ylabel={Mass (kg)}, legend pos=north west]
\addplot+[only marks] coordinates {
(1.62,55) (1.68,61) (1.71,66) (1.75,69) (1.80,74) (1.84,79)};
\addplot+[only marks] coordinates {
(1.58,49) (1.64,57) (1.69,58) (1.73,64) (1.77,68)};
\legend{Group A, Group B}
\end{axis}
\end{tikzpicture}Formen, Größen und Farben der Markierungen
mark= legt die Form fest und mark size= ihren Radius (standardmäßig 2pt). Gefüllte Formen enden auf *. mark options gestaltet nur die Markierungen, zum Beispiel eine offene Markierung mit weißer Füllung.
Verschiedene Markierungen für verschiedene Reihen
\begin{tikzpicture}
\begin{axis}[enlargelimits=0.15, legend pos=outer north east]
\addplot[only marks, mark=o, blue] coordinates {(1,2) (2,3) (3,2.5)};
\addplot[only marks, mark=square*, red, mark size=3pt] coordinates {(1,1) (2,1.8) (3,1.2)};
\addplot[only marks, mark=triangle*, teal, mark options={fill=white}] coordinates {(1,3) (2,4) (3,3.8)};
\addplot[only marks, mark=x, black, mark size=4pt] coordinates {(1.5,0.5) (2.5,0.8)};
\legend{circle, square, triangle, cross}
\end{axis}
\end{tikzpicture}Die Formen, die funktionieren, stehen auf der Seite Linienplots.
Punkte aus einer Tabelle
Bei mehr als einer Handvoll Punkte schreiben Sie sie als Tabelle. Die erste Zeile benennt die Spalten; x= und y= wählen die Spalten, die geplottet werden. Die Tabelle kann wie hier direkt im Code stehen oder in einer Datei (siehe Daten aus einer CSV-Datei).
Punkte aus einer Tabelle im Code
\begin{tikzpicture}
\begin{axis}[xlabel={Hours studied}, ylabel={Points}]
\addplot[only marks, mark=*, blue!70!black] table[x=hours, y=points] {
hours points
2 21
3 26
4 30
5 29
6 37
7 40
8 44
};
\addplot[red, domain=2:8] {13.5 + 3.8*x};
\end{axis}
\end{tikzpicture}Die rote Linie ist eine Formel, die über die Punkte gezeichnet wird, eine einfache Art, einen angepassten Trend zu zeigen.
Punkte nach einem Wert färben
Mit scatter wird jeder Punkt anhand eines Werts aus der Farbskala gefärbt. point meta=y verwendet den y-Wert; scatter src=explicit mit meta= liest eine dritte Spalte. Fügen Sie colorbar hinzu, um die Skala anzuzeigen.
Punkte nach einer dritten Spalte gefärbt
\begin{tikzpicture}
\begin{axis}[colorbar, colormap/viridis, xlabel=$x$, ylabel=$y$]
\addplot[scatter, only marks, mark size=3pt, scatter src=explicit]
table[x=x, y=y, meta=t] {
x y t
0.5 1.0 10
1.0 2.2 15
1.6 1.4 21
2.1 3.0 28
2.8 2.1 33
3.3 3.6 44
};
\end{axis}
\end{tikzpicture}Klassen von Punkten
In pgfplots gibt scatter/classes jedem Klassennamen in einer Spalte eine eigene Markierung. Scissor LaTeX unterstützt das noch nicht: Die Option wird mit einer Meldung ignoriert, und jeder Punkt bekommt dieselbe Markierung.
scatter/classes: eine Markierung für alle Punkte
\begin{tikzpicture}
\begin{axis}[width=6cm, height=5cm]
\addplot[scatter, only marks, scatter src=explicit symbolic,
scatter/classes={a={mark=square*, blue}, b={mark=*, red}}]
table[meta=group] {
x y group
1 1 a
2 2 b
3 1.5 a
};
\end{axis}
\end{tikzpicture}Tab „Probleme“: pgfplots option 'scatter/classes' is not supported yet
Was anders ist als in einer TeX-Installation
Alle Details zu Markierungen und Scatter-Optionen stehen im Handbuch von pgfplots: ctan.org/pkg/pgfplots.
Fragen und Antworten
Wie erstelle ich ein Streudiagramm ohne Linien?
Fügen Sie den Optionen des \addplot only marks hinzu, zum Beispiel \addplot+[only marks] coordinates {...};.
Wie ändere ich die Größe der Punkte?
Verwenden Sie mark size=3pt am \addplot. Der Wert ist der Radius der Markierung.
Kann ich Punkte aus einer CSV-Datei plotten?
Ja. Laden Sie die Datei ins Projekt hoch und schreiben Sie \addplot+[only marks] table[x=a, y=b, col sep=comma] {file.csv};.
Jedes Beispiel auf dieser Seite wird beim Erstellen der Website von Scissor LaTeX gesetzt. Zuletzt aktualisiert am 2026-11-07.