pgfplots Beschriftung einzelner Datenpunkte
Verfasst: Mi 11. Sep 2013, 13:09
Hi,
ich baue mir gerade mit pgfplots eine Diagrammvorlage. Neben den Datenspalten existieren noch zwei zusätzliche Hilfsspalten. In der ersten ("Label") steht entweder 1 oder 0, diese entscheidet ob der Datenpunkt eine Beschriftung erhalten soll. Die zweite Hilfsspalte enthält die Ausrichtung der Beschriftung. Funktioniert auch alles soweit, bis auf das An- bzw. Abschalten der Beschriftung.
Ich denke der Fehler liegt in der If-Abfrage. Hier wird völlig unabhängig davon welchen Wert Lblswitch enthält immer die Else-Anweisung ausgeführt.
Hat jemand eine Idee?
Viele Grüße
Monchi
ich baue mir gerade mit pgfplots eine Diagrammvorlage. Neben den Datenspalten existieren noch zwei zusätzliche Hilfsspalten. In der ersten ("Label") steht entweder 1 oder 0, diese entscheidet ob der Datenpunkt eine Beschriftung erhalten soll. Die zweite Hilfsspalte enthält die Ausrichtung der Beschriftung. Funktioniert auch alles soweit, bis auf das An- bzw. Abschalten der Beschriftung.
\documentclass{scrartcl} \usepackage{pgfplots,pgfplotstable,filecontents} \begin{filecontents*}{table.csv} X,Y,Z,Label,Alng 100,150,2001,1,90 400,390,2002,0,180 600,645,2003,1,90 \end{filecontents*} \pgfkeys{/pgf/number format/set thousands separator={}} \begin{document} \begin{tikzpicture}[scale=1.4] \def\varXmax{700} \def\varYmax{\varXmax} \begin{axis}[ xlabel={$S_{x,theoretisch} [mm]$}, ylabel={$S_{x,gemessen} [mm]$}, xmin={0}, ymin={0}, xmax={\varXmax}, ymax={\varYmax}, minor tick num=1, try min ticks=10, ] \addplot[scatter,only marks, visualization depends on={\thisrow{Label} \as \Lblswitch}, visualization depends on={\thisrow{Alng} \as \Alingmnt}, visualization depends on={value \thisrow{Z} \as \LblZ}, nodes near coords={\if{\Lblswitch>0} Beschriftung\ (\LblZ ) \else keine Beschriftung \fi}, every node near coord/.style={anchor=\Alingmnt} ] table [x=X,y=Y,col sep=comma] {table.csv}; \addplot [gray, style=dashed, no marks, domain=0:\varXmax]{0.75*x}; % -25% \addplot [gray, style=dashed, no marks, domain=0:\varXmax]{x}; \addplot [gray, style=dashed, no marks, domain=0:\varXmax]{1.25*x}; % +25% \end{axis} \end{tikzpicture} \end{document}
Hat jemand eine Idee?
Viele Grüße
Monchi