TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.

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.4k23227413
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.4k23227413
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:

×276

gestellte Frage: 26 Aug '18, 12:42

Frage wurde gesehen: 1,208 Mal

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