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 '18, 12:42

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

bearbeitet 26 Aug '18, 12:44

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

(26 Aug '18, 18:24) Community

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

(26 Aug '18, 20: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 '18, 20:01

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

bearbeitet 26 Aug '18, 20:02

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×298

gestellte Frage: 26 Aug '18, 12:42

Frage wurde gesehen: 4,353 Mal

zuletzt geändert: 26 Aug '18, 20:03