alt text

Ich habe hier eine Tabelle mit Punktkoordinaten.

Öffne in Overleaf
1 0.00    3.60
2 1.00    3.60
3 1.50    4.47

Frage: Wenn ich später die Punkte in irgendeiner Reihenfolge verbinden will, z.B. 1-3-2, wie mache ich das am besten?

Ich habe

visualization depends on={value \thisrowno{0} \as \Label}, every node near coord/.append style={name={P-\Label}}

und dann \draw[] (P-1) -- (P-3);

versucht, das klappte nicht; ist auch vermutlich nicht 100%ig optimal, da so die nodes, nicht die Koordinaten, verbunden würden.

Öffne in Overleaf
\documentclass[margin=5mm, tikz]{standalone}
%\documentclass{article}

\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}%[scale=1.875]
\begin{axis}[
hide axis,
x = 15mm, y=15mm
]

\addplot+ [only marks, 
mark options={red},
mark size=1.125pt, 
% Bezeichnung
font=\scriptsize\ttfamily, % \tiny %  \scriptsize
visualization depends on={value \thisrowno{0} \as \Label},
nodes near coords={\Label},
every node near coord/.append style={text=black},
] 
table[x index=1, y index=2] {% 
1 0.00    3.60
2 1.00    3.60
3 1.50    4.47
}; 
\end{axis} 
\end{tikzpicture}

\end{document}

gefragt 26 Aug, 06:42

cis's gravatar image

cis
8.3k16171267
Akzeptiert: 69%

bearbeitet 26 Aug, 06:44

Gibt es einen Grund, warum Du nicht einfach die Reihenfolge in der Tabelle änderst?

(26 Aug, 12:24) Murmeltier

Weil die Linienzüge meist mehrfach die Punkte verwenden; siehe Bsp. in meiner Antwort.

(26 Aug, 14:02) cis

Es geht, indem man name=Name-\coordindex oder name=#1-\coordindex verwendet.

Ein mögliches Beispiel:

Öffne in Overleaf
\documentclass[margin=5mm, tikz]{standalone}

\usepackage{pgfplots}

\pgfplotsset{compat=1.13,
name nodes near coords/.style={
every node near coord/.append style={
name=#1-\coordindex,
% alias=#1-last,
anchor=center, inner sep=0pt, outer sep=0.5pt,
},
},
name nodes near coords/.default=coordnode
}

\begin{document}

\begin{tikzpicture}[
BeschriftungsStyle/.style={text=black, 
font=\scriptsize\ttfamily, % \tiny %  \scriptsize
}
]

\begin{axis}[hide axis,
x = 15mm, y=15mm,
nodes near coords,
]

% Linienzug
\addplot+ [name nodes near coords=P,
nodes near coords={}, % Leere node setzen
only marks, 
mark options={red},
mark size=1.125pt,
] table[header=false, x index=2, y index=3] {% 
P1 1 0.00    3.60
P2 2 1.00    3.60
P3 3 0.50    4.47
P4 4 -0.50    4.47
P5 5 -1.00    3.60
P6 6 -0.50    2.73
P7 7 0.50    2.73
P8 8 0.00    1.08
P9 9 -0.23    2.05
P10 10 0.73    1.76
};

\end{axis}

% Beschriftung der Streichholzköpfe
\foreach[evaluate={\N=int(\n+1)}] \n in {0,...,9} \node[above, BeschriftungsStyle] at (P-\n) {\N};

% Zeichnen der Linienzüge
\foreach \n in {3,2,5,2,6,4,1} \draw[] (P-0) -- (P-\n);
\foreach \n in {6,8,4} \draw[blue] (P-5) -- (P-\n);

\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 26 Aug, 14:01

cis's gravatar image

cis
8.3k16171267

bearbeitet 26 Aug, 14:02

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×261

Frage gestellt: 26 Aug, 06:42

Frage wurde angeschaut: 306 Mal

Zuletzt aktualisiert: 26 Aug, 14:03