PGFplots - Verbindung zw. ersten beiden Punkten aufbrechen

Tabellen und Grafiken erstellen und anordnen


feichti92
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Mi 17. Mai 2017, 10:37

PGFplots - Verbindung zw. ersten beiden Punkten aufbrechen

Beitrag von feichti92 »

Hallo Latex-Freunde,
Ich habe eine Frage zu meinem x-y-Diagramm, welches aus folgendem Code resultiert:
\documentclass[11pt, a4paper]{scrbook}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.14}
\pgfmathsetmacro{\N}{\pgfplotsretval} 

\pgfplotstableread{
1 1
2 2
3 3
4 4
5 5
}\datatable


\begin{document}

\begin{tikzpicture}
\begin{axis}[ymin=0, ymax=6]
\addplot table  {\datatable}
node[pos=0.0, pin=right:"Punkt 1"]{}
node[pos=0.25, pin=right:"Punkt 2"]{}
;

\end{axis}
\end{tikzpicture}

\end{document}
Visuell:

Bild

Wie kann ich nun das Verbindungsstück (Linie) zwischen Punkt 1 und Punkt 2 verschwinden lassen? Geht das per Befehl oder muss ich den einen Punkt als 2.Datenset einlesen? Ich will aber, dass die Farbe, das Symbol, etc. gleich den anderen Datenpunkten ist. Die Verbindungslinien zwischen den restlichen Datenpunkten sollen jedoch bestehen bleiben.
Bitte um Hilfe, danke!

LG

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Du kannst das beispielsweise auf zwei getrennte Plotbefehle aufteilen und skip coords between index nutzen. Bei dem ersten Befehl ergänzt Du forget plot. Dann wird der Plot bezüglich Legendeneintrag ignoriert und für den folgenden Plot werden noch immer die gleichen Farb- und Markereinstellungen verwendet. Wichtig dabei ist das + zwischen \addplot und den zusätzlichen Optionen.
\documentclass[11pt, a4paper]{scrbook} 
\usepackage{pgfplotstable}% lädt auch pgfplots
\pgfplotsset{compat=1.14} 
%\pgfmathsetmacro{\N}{\pgfplotsretval} 

\pgfplotstableread{ 
 1 1 
 2 2 
 3 3 
 4 4 
 5 5 
}\datatable 

\begin{document} 

\begin{tikzpicture} 
\begin{axis}[ymin=0, ymax=6] 
\addplot+[only marks,forget plot,skip coords between index={1}{999}] table {\datatable}
  node[pin=right:"Punkt 1"]{}
;
\addplot+[skip coords between index={0}{1}] table  {\datatable} 
  node[pos=0, pin=right:"Punkt 2"]{} 
; 
\end{axis} 
\end{tikzpicture} 
\end{document}
Bild
Dateianhänge
gl_einzelnerpunkt.png
gl_einzelnerpunkt.png (2.67 KiB) 1114 mal betrachtet

feichti92
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Mi 17. Mai 2017, 10:37

Beitrag von feichti92 »

esdd hat geschrieben:Du kannst das beispielsweise auf zwei getrennte Plotbefehle aufteilen und skip coords between index nutzen. Bei dem ersten Befehl ergänzt Du forget plot. Dann wird der Plot bezüglich Legendeneintrag ignoriert und für den folgenden Plot werden noch immer die gleichen Farb- und Markereinstellungen verwendet. Wichtig dabei ist das + zwischen \addplot und den zusätzlichen Optionen.
\documentclass[11pt, a4paper]{scrbook} 
\usepackage{pgfplotstable}% lädt auch pgfplots
\pgfplotsset{compat=1.14} 
%\pgfmathsetmacro{\N}{\pgfplotsretval} 

\pgfplotstableread{ 
 1 1 
 2 2 
 3 3 
 4 4 
 5 5 
}\datatable 

\begin{document} 

\begin{tikzpicture} 
\begin{axis}[ymin=0, ymax=6] 
\addplot+[only marks,forget plot,skip coords between index={1}{999}] table {\datatable}
  node[pin=right:"Punkt 1"]{}
;
\addplot+[skip coords between index={0}{1}] table  {\datatable} 
  node[pos=0, pin=right:"Punkt 2"]{} 
; 
\end{axis} 
\end{tikzpicture} 
\end{document}
Bild
Genau so habe ich mir das vorgestellt!
Dankesehr :D

Antworten