Anzeige:
Ergebnis 1 bis 2 von 2

Thema: pgf-plots: Erste Datenreihe wird ignoriert

  1. #1
    Registrierter Benutzer
    Registriert seit
    05.09.2006
    Beiträge
    361

    pgf-plots: Erste Datenreihe wird ignoriert

    Liebe Community,

    seit Stunden versuche das Diagramm vollständig hinzubekommen.
    Hans taucht leider nicht auf Wieso fehlt die der erste in der ersten Zeile?

    Code:
    \documentclass{scrbook}
    \usepackage{xltxtra} % XeLaTeX
    \usepackage{filecontents}
    \usepackage{pgfplots,pgfplotstable}
    \pgfplotsset{compat=1.4}
    \usetikzlibrary{pgfplots.groupplots}
    
    \begin{filecontents}{Woerter.dat}
    	Gruppe	MW		SD
    	Hans	2788.433	707.484260009309
    	Peter	3503.050	806.076
    	Sven	3697.500	368.310
    	Tim	3395.867	523.215
    	Max	3697.032	513.163
    \end{filecontents}
    \begin{filecontents}{Lieder.dat}
    	Gruppe	MW		SD
    	Hans 	2700.667	634.761
    	Peter	1804.450	498.362
    	Sven	1815.200	368.310
    	Tim	2440.267	523.215
    	Max	2112.548	513.163
    \end{filecontents}
    \begin{filecontents}{Treffer.dat}
    	Gruppe	MW		SD
    	Hans	1.104		0.446
    	Peter	2.117		0.953
    	Sven	2.110		0.455
    	Tim	1.490		0.575
    	Max	1.861		0.576
    \end{filecontents}
    \begin{filecontents}{Ziele.dat}
    	Gruppe	MW		SD
    	Hans	10.6666666667	0.5773502692
    	Peter	10.6666666667	4.1633319989
    	Sven	8.6666666667	2.0816659995
    	Tim	8.3333333333	3.0550504633
    	Max	9		4.582575695
    \end{filecontents}
    
    \definecolor{Schwarz}{RGB}{0, 0, 0}
    \definecolor{Grau1}{gray}{0.30}
    \definecolor{Grau2}{gray}{0.60}
    \definecolor{Grau3}{gray}{0.90}
    \definecolor{Weiss}{RGB}{255, 255, 255}
    
    \pgfplotscreateplotcyclelist{colorbrewer-Graustufen}{
    	{Schwarz!50!black,fill=Schwarz},
    	{Grau1!50!black,fill=Grau1},
    	{Grau2!50!black,fill=Grau2},
    	{Grau3!50!black,fill=Grau3},
    	{Weiss!50!black,fill=Weiss},
    }
    
    \pgfplotsset{
    	select row/.style={
    		x filter/.code={\ifnum\coordindex=#1\else\def\pgfmathresult{}\fi}
    	}
    }
    
    \begin{document}
    	
    	\begin{figure}[hbt!]
    		\centering
    		\begin{tikzpicture}
    		\begin{groupplot}
    		[
    		group style={group size=2 by 2,ylabels at=edge left,horizontal sep=3cm,group name=plots},
    		height=6cm,
    		axis y line=left,ylabel near ticks,ymin=0,ybar,error bars/.cd,error bars/y explicit,error bars/y dir=plus,/pgf/bar shift=1pt,
    		%xtick=data,
    		xticklabels from table={Woerter.dat}{Gruppe},
    		%axis x line*=bottom,xtick=\empty,    	 
    		cycle list name=colorbrewer-Graustufen,
    		%legend style={at={(0.75,-0.15)},draw=none,/tikz/every even column/.append style={column sep=5pt}},legend %columns=-1,
    		%legend image code/.code={\draw[#1] (0cm,-0.1cm) rectangle (0.5cm,0.1cm);}
    		]
    		
    		\nextgroupplot[ymax=4500,ylabel=Lieder/Tag,bar width=20pt,legend to name=grouplegend]
    		\pgfplotsinvokeforeach  {0,...,5}{
    			\addplot table [x=Gruppe, x expr=\coordindex, select row=#1, y=MW,y error=SD] {Woerter.dat};
    		}
    		
    		\nextgroupplot[ymax=4500,ylabel=Tag/Tag,bar width=20pt]
    		\pgfplotsinvokeforeach  {0,...,5}{
    			\addplot table [x expr=\coordindex, select row=#1, y=MW,y error=SD] {Lieder.dat};
    		}
    		
    		\nextgroupplot[ymax=5,bar width=20pt]
    		\pgfplotsinvokeforeach  {0,...,5}{
    			\addplot table [x expr=\coordindex, select row=#1, y=MW,y error=SD] {Treffer.dat};
    		}
    		
    		\nextgroupplot[ymax=15,bar width=20pt]
    		\pgfplotsinvokeforeach  {0,...,5}{
    			\addplot table [x expr=\coordindex, select row=#1, y=MW,y error=SD] {Ziele.dat};
    			%\addlegendentry {\pgfplotstablegetelem{#1}{Gruppe}\of{Woerter.dat} \pgfplotsretval}
    		}
    		
    		\end{groupplot}
    		\node at (plots c2r1.south) [inner sep=0pt,anchor=north, yshift=-5ex] {\ref{grouplegend}};
    		\end{tikzpicture}
    	\end{figure}
    \end{document}
    Bildschirmfoto vom 2020-05-22 03-33-10.png

    Über Hilfe bin ich sehr dankbar!
    Ubuntu 14.04 LTS, Texstudio 2.6, TeX Live 2014 (manuell installiert)

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Bei mir sieht das etwas anders aus. Die erste Datenreihe wird schon mit angezeigt, nur die (x)-Label sind falsch...also bei Peter werden die Daten von Hans angezeigt, bei Sven die von Peter etc.
    Das ändert sich auch nicht, wenn ich testhalber xticklabels from table durch xticklabels ersetze.
    Behelfen kannst Du Dir hier erstmal mit
    Code:
    %		xticklabels from table={Woerter.dat}{Gruppe},
    		xticklabels={Gustav,Hans,Peter,Sven,Tim,Max},
    dann wird halt Gustav ignoriert und die Labels fangen mit Hans an.
    Frag aber besser beim Paketautor nach.

    BTW: \pgfplotsset{compat=1.4} klingt schon recht alt. Aktuell ist bei mir 1.17.

    VG
    Rainer
    There's nothing a good whack with a hammer won't fix!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •