Seite 1 von 1

Pgfplots unterschlägt letzte Zeile von .csv-Datei

Verfasst: Sa 10. Dez 2016, 12:11
von pointloma
Hallo Forum,

ich versuche mit Pgfplots eine Darstellung aus einer csv-Datei zu plotten. Aus einem mir unbekannten Grund wird jedoch die letzte Zeile nicht dargestellt. Kann sich das einer erklären?

Die Daten gehen bis 06-15. Ich habe mir Abhilfe geschaffen, indem ich einfach noch eine weitere Zeile eingefügt habe mit 0ern, damit wird mir dann auch die Zeile 06-15 angezeigt. Würde mich trotzdem interessieren, wo der Fehler liegt.
\documentclass{beamer}
\setbeamertemplate{navigation symbols}{}

\usetheme{Warsaw}
\usecolortheme{dolphin}
\usepackage[german]{babel} %deutscher Sprachraum

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage[version=4]{mhchem}
\usepackage{tabularx}
\usepackage{pgfplotstable}


\begin{document}

\begin{frame}\frametitle{Ergebnisse gemittelt}
\begin{figure}[T] \vspace{-0.4cm}
\pgfplotstableread[col sep=semicolon] {huglinm.csv} {\huglinm}
\begin{tikzpicture}
		\begin{axis}
		[
		xlabel=Jahreszahl,
		ylabel=Huglin-Index,
		width=\textwidth,height=7.3cm,
	  ytick={1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300},
		ymajorgrids,
		xmin=56-65,
		xmax=16-25,
		ymin=1200,
		legend style={at={(0.05,0.9)},anchor=north west},
		legend entries = {Geisenheim, Ahr, Franken} ,
		symbolic x coords={56-65,66-75,76-85,86-95,96-05,06-15},
		ybar interval=0.7
		]
		\addplot [fill=lightgray!10, ybar legend] table [y={G},x={J}] {\huglinm};
		\addplot [fill=lightgray!80, ybar legend] table [y={A},x={J}] {\huglinm};
		\addplot [fill=lightgray!150, ybar legend] table [y={F},x={J}] {\huglinm};

		\end{axis}	
	\end{tikzpicture}
\end{figure}
\end{frame}

\end{document}
Die csv.-Datei ist wie folgt aufgebaut:
J;G;A;F
56-65;1541.4;1388.1336;1360.395
66-75;1549.1;1471.2323;1380.71
76-85;1495.4;1443.1529;1351
86-95;1637.5;1545.5012;1464.87
96-05;1742.4;1638.7176;1562.31
06-15;1817.5;1672.5309;1644.065

Verfasst: Sa 10. Dez 2016, 12:50
von esdd
Du möchtest nicht ybar intervall sondern ybar. Sieh Dir in der Doku den Unterschied an. Dann sind noch ein paar kleinere Anpassungen und Korrekturen nötig, die im folgenden kommentiert sind.
\begin{filecontents*}{huglinm.csv}
J;G;A;F 
 56-65;1541.4;1388.1336;1360.395 
 66-75;1549.1;1471.2323;1380.71 
 76-85;1495.4;1443.1529;1351 
 86-95;1637.5;1545.5012;1464.87 
 96-05;1742.4;1638.7176;1562.31 
 06-15;1817.5;1672.5309;1644.065 
\end{filecontents*}

\documentclass{beamer}
\setbeamertemplate{navigation symbols}{}

\usetheme{Warsaw}
\usecolortheme{dolphin}
\usepackage[german]{babel} %deutscher Sprachraum

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage[version=4]{mhchem}
\usepackage{tabularx}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.14}% immer gleich nach dem Laden des Pakets setzen!


\begin{document}

\begin{frame}\frametitle{Ergebnisse gemittelt}
\begin{figure}[T] \vspace{-0.4cm}
\pgfplotstableread[col sep=semicolon] {huglinm.csv} {\huglinm}
\begin{tikzpicture}
      \begin{axis}
      [
      xlabel=Jahreszahl,
      ylabel=Huglin-Index,
      width=\textwidth,height=7.3cm,
     ytick={1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300},
      ymajorgrids,
      xmin=56-65,
      xmax=06-15,% <- Koordinate korrigiert
      ymin=1200,
      legend style={at={(0.05,0.9)},anchor=north west},
      legend entries = {Geisenheim, Ahr, Franken} ,
      symbolic x coords={56-65,66-75,76-85,86-95,96-05,06-15},
      xtick=data,% oder xtick={56-65,66-75,76-85,86-95,96-05,06-15},
      enlarge x limits={abs=25pt},% ausreichend Platz für Breite der ersten und letzten Koordinate
      ybar% <-Du willst das und nicht ybar intervall
      ]
      \addplot [fill=lightgray!10, ybar legend] table [y={G},x={J}] {\huglinm};
      \addplot [fill=lightgray!80, ybar legend] table [y={A},x={J}] {\huglinm};
      \addplot [fill=lightgray!150, ybar legend] table [y={F},x={J}] {\huglinm};

      \end{axis}   
   \end{tikzpicture}
\end{figure}
\end{frame}
\end{document}

Verfasst: Sa 10. Dez 2016, 12:54
von pointloma
Ich danke dir vielmals! Ja, das sieht deutlich besser aus. Ich hatte vorher mit ybar das Problem, dass die Säulen "auf einem Fleck" waren und nicht nebeneinander ausgegeben wurden, weswegen ich nach einer Alternative gesucht hatte. Danke dir nochmal.

Verfasst: Sa 10. Dez 2016, 13:01
von esdd
Falls Deine Frage damit beantwortet ist, kannst Du bitte noch den Status entsprechend ändern? Danke.