Seite 1 von 1

mehrere Filecontent-Dateien zu einer Zusammenfassen

Verfasst: Mi 18. Mai 2016, 10:01
von pointloma
Hallo liebes Forum,

ich habe ein tikzpicture, welches meinen Vorstellungen entspricht. Das Problem ist, dass ich für die Daten mehrere Dateien brauche. Das wird schnell unübersichtlich, da ich mehrere Abbildungen habe. Ich verstehe aber in diesem Fall nicht, wie ich die Daten in eine Datei zusammenfassen kann und die Abbildung gleich bleibt.

:roll:
\documentclass{scrreprt}
\usepackage{pgfplots}
\usepackage{filecontents}

\begin{document}

\begin{filecontents}{1.dat}
Austrieb 0
Reifebeginn 0
Lesebeginn 1.5
\end{filecontents}

\begin{filecontents}{2.dat}
Austrieb 65.7
Reifebeginn 43.2
Lesebeginn 38.8
\end{filecontents}

\begin{filecontents}{3.dat}
Austrieb 34.3
Reifebeginn 56.7
Lesebeginn 59.7
\end{filecontents}

\begin{figure}
\begin{tikzpicture}
\begin{axis}[
enlargelimits=0.15,
width=\textwidth,
ybar,
bar width=20pt,
 symbolic x coords=
		 {Austrieb,
		  Reifebeginn,
		  Lesebeginn,
		},
xtick=data,]

\addplot [fill=lightgray!30] file {1.dat};
\addplot [fill=lightgray!80]file {2.dat};
\addplot [fill=lightgray!150]file {3.dat};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
Danke für eure Hilfe! [/d]

Verfasst: Mi 18. Mai 2016, 10:20
von esdd
Du kannst alle Daten in eine Tabelle schreiben und dann über die Spaltennummer darauf zu greifen. Die Zählung der Spalten beginnt dabei bei 0.
\documentclass{article} 
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{filecontents} 

\begin{document} 

\begin{filecontents*}{alle.dat} 
 Austrieb     0     65.7  34.3
 Reifebeginn  0     43.2  56.7
 Lesebeginn   1.5   38.8  59.7
\end{filecontents*} 

\begin{figure} 
\begin{tikzpicture} 
\begin{axis}[ 
 enlargelimits=0.15, 
 width=\textwidth, 
 ybar, 
 bar width=20pt, 
  symbolic x coords= 
        {Austrieb, 
         Reifebeginn, 
         Lesebeginn, 
       }, 
 xtick=data,
 table/header=false% <- keine Kopfzeile in der Datentabelle
] 

\addplot [fill=lightgray!30] table [y index=1] {alle.dat}; 
\addplot [fill=lightgray!80] table [y index=2]{alle.dat}; 
\addplot [fill=lightgray!150] table [y index=3]{alle.dat}; 
\end{axis} 
\end{tikzpicture} 
\end{figure} 
\end{document}

Verfasst: Mi 18. Mai 2016, 13:58
von pointloma
Danke dir. Bei den anderen Abbildungen mache ich das ja auch so, nur als ich mir das mal gebastelt hatte, hat er die Balken übereinander und nicht nebeneinander gemacht. :?: Irgendwas hatte ich da wohl falsch gemacht. Naja, danke trotzdem. :)