Koordinaten außerhalb der axis-Umgebung von pgfplot abfragen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Koordinaten außerhalb der axis-Umgebung von pgfplot abfragen

von Gast » Mi 22. Feb 2017, 14:00

Naja. Nachdem Ulrike das Stichwort bereits weiter oben geliefert hatte, ist die Suche danach in der Anleitung eigentlich nicht so wahnsinnig schwierig …

von Jens-Gast » Mi 22. Feb 2017, 13:56

Hallo,

vielen Dank das hat funktioniert. Bisher kam ich auch immer gut mit der Doku zurecht, aber gerade bei solchen Einstellungen ist es immer schwierig bei einer Dokumentation mit über 500 Seiten die passende Stelle zu finden.

Vielen Dank,
Gruß Jens

von u_fischer » Mi 22. Feb 2017, 13:07

Naja, du könntest ja auch mal in die Doku schauen. nodes near coords={} sollte gehen.

von Jens-Gast » Mi 22. Feb 2017, 13:03

Hallo,

vielen Dank, funktioniert super.
Sorry, eine letzte Frage habe ich nich:
Gibt es noch die Möglichkeit, die Zahlen oberhalb der Punkte zu entfernen?

Gruß Jens

von u_fischer » Mi 22. Feb 2017, 12:31

\draw(myname-1.south)--(myname-3.south)node[midway,above]{Beschriftung};

von Jens-Gast » Mi 22. Feb 2017, 11:51

Hallo,

vielen Dank! Nodes near coords kannte ich zuvor noch nicht und habe ich auch bei meinen Recherchen nicht gefunden, deshalb hab ich ja mal hier nachgefragt :wink:.

Diese Lösung hat aber noch einen Nachteil und zwar, dass die Linie nicht direkt von den Punkten ausgeht, sondern etwas darüber. Kann man dies ebenfalls noch erreichen?

Vielen Dank,
Gruß Jens

von u_fischer » Di 21. Feb 2017, 12:47

Natürlich geht es. nodes near coords kennt doch auch die Koordinaten.
\RequirePackage{filecontents}
\begin{filecontents}{data.dat}
x_v y_v
0 1
1 5
3 2
4 4
5 3
\end{filecontents}
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pgfplotsset{
    name nodes near coords/.style={
        every node near coord/.append style={
            name=#1-\coordindex,
            alias=#1-last,
        },
    },
    name nodes near coords/.default=coordnode
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel={Xlabel},ylabel={Ylabel}]
   \addplot [color=blue,solid,mark=*,nodes near coords,name nodes near coords=myname] table[x=x_v,y=y_v] {data.dat};
   
\end{axis}
\draw(myname-1)--(myname-3)node[midway,above]{Beschriftung};
%Diese Linie soll vom zweiten Punkt bis zum vierten Punkt gezeichnet werden
%Also sowas in der Art:
%\draw(Koordinate Punkt 2) -- (Koordinate Punkt 4);
\end{tikzpicture}
\end{document}

von Jens-Gast » Di 21. Feb 2017, 12:33

Hallo,

nach meinen Recherchen ist das scheinbar doch nicht möglich. Ich habe es daher nun als statische Lösung innerhalb der axis-Umgebung gelöst.
\begin{filecontents}{data.dat}
x_v y_v
0 1
1 5
3 2
4 4
5 3
\end{filecontents}
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel={Xlabel},ylabel={Ylabel}]
   \addplot [color=blue,solid,mark=*] table[x=x_v,y=y_v] {data.dat};
   \draw(axis cs:1,5)--(axis cs:4,4)node[midway,above,sloped]{Beschriftung}; %Lösung
\end{axis} 
\end{tikzpicture}
\end{document}
Wenn jemand eine dynamische Lösung kennt würde ich mich freuen. Also eine Lösung, bei der man die Koordinatenpunkte nicht fest reinschreiben muss sondern ebenfalls aus der Datei holen kann.

Vielen Dank,
Gruß Jens

Koordinaten außerhalb der axis-Umgebung von pgfplot abfragen

von Jens-Gast » Mo 20. Feb 2017, 14:12

Hallo,

ich habe einen pgfplot, der die entsprechenden Daten aus einer .dat-Datei holt. Nachdem ich den Plot zeichnen lasse, möchte ich im nächsten Schritt außerhalb der axis-Umgebung noch eine Linie von einem Punkt zu einem anderen zeichnen lassen. Das Problem dabei ist, dass ich nicht weiß, wie ich auf die Koordinaten der Punkte vom pgfplot bzw. aus der Datei zugreifen kann. Ich suche also nach einem Befehl bzw. nach einer Möglichkeit "Zeichne eine Linie von Koordinate 2 bis Koordinate 4". Hier das zugehörige Minimalbeispiel:
\begin{filecontents}{data.dat}
x_v y_v
0 1
1 5
3 2
4 4
5 3
\end{filecontents}
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel={Xlabel},ylabel={Ylabel}]
	\addplot [color=blue,solid,mark=*] table[x=x_v,y=y_v] {data.dat};
\end{axis}
\draw(1,5)--(5,5)node[midway,above]{Beschriftung};  
%Diese Linie soll vom zweiten Punkt bis zum vierten Punkt gezeichnet werden
%Also sowas in der Art:
%\draw(Koordinate Punkt 2) -- (Koordinate Punkt 4);
\end{tikzpicture}
\end{document}
Vielen Dank,
Gruß Jens

Nach oben