Einfügen eines großen Datensatzes in axis funktioniert nicht

Tabellen und Grafiken erstellen und anordnen


Nrbrt
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 4. Jul 2016, 15:11

Einfügen eines großen Datensatzes in axis funktioniert nicht

Beitrag von Nrbrt »

Hallo,

ich würde gerne einen großen Datensatz als .txt-Datei in meinem TeX plotten lassen. Leider funktioniert das nicht, da die Datei wohl zu groß ist.
% arara: pdflatex: {shell: yes}

\documentclass[	12pt,							
			a4paper,  				
			]{scrreprt}												
\usepackage[ngerman]{babel}						
\usepackage{tikz}						
\usepackage{pgfplots}
\pgfplotsset{ 								    		compat=1.12,						
   		 /pgf/number format/.cd, 
      		 use comma%, 
		}


\begin{document}


\begin{figure}
\centering
\begin{tikzpicture}
%
\begin{axis}[axis x line=bottom, axis y line=left, 
			xlabel= Zeit , 
			xmin=0, xmax= 20000,
			ylabel= einheit, 
			ymin=0, ymax=25, 
			xtick={0,1800,...,20400}, 
    			xticklabel={% 
       					\pgfmathdivide{\tick}{60}%
       					\pgfmathprintnumber{\pgfmathresult}% 
   					}, 
			scaled ticks=false,
			width=0.9\textwidth, height=5cm,
			]
\addplot[mark=, color=blue, smooth] table{test.txt};
\end{axis}
%
\end{tikzpicture}
\caption[zeuch]{zeuch
\label{pic:abc}
\end{figure}


\end{document}

In dem Code lasse ich dann auch noch die X-Achse etwas umformatieren. Da das nötig ist, habe ich es einfach mal mit drin gelassen. ich lasse es dann immer mit Arara laufen, damit das mit der Shell klappt.

Weiß jemand wie ich es hin bekomme, die Daten geplottet zu bekommen?

Vielen Dank!
Grüße
Dateianhänge
test.txt
(97.36 KiB) 272-mal heruntergeladen

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Mit ein paar Änderungen im Code und einer utf8 statt utf16 kodierten Datei test.txt

Bild

Code:
\documentclass[12pt]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}% lädt auch tikz
\pgfplotsset{
  compat=1.12,
  /pgf/number format/.cd,use comma%
} 
\begin{document} 
\begin{figure} 
\centering 
\begin{tikzpicture} 
% 
\begin{axis}[axis x line=bottom, axis y line=left, 
  xlabel= Zeit , 
  xmin=0, xmax= 20000, 
  ylabel= einheit, 
  ymin=0, ymax=25, 
  xtick={0,1800,3600,5400,7200,9000,10800,12600,14400,16200,18000,20800}, 
  xticklabel={{%  
    \pgfkeys{/pgf/fpu}%
    \pgfmathdivide{\tick}{60}% 
    \pgfmathprintnumber[precision=0]{\pgfmathresult}%  
  }},
  scaled ticks=false, 
  width=0.9\textwidth, height=5cm, 
  ] 
\addplot[mark=, color=blue, smooth] table{test.txt}; 
\end{axis} 
% 
\end{tikzpicture} 
\caption{zeuch}
\label{pic:abc} 
\end{figure} 
\end{document}
Alternative kann man auch die Daten statt der Ticks transfomieren:

\documentclass[12pt]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}% lädt auch tikz
\pgfplotsset{
  compat=1.12,
  /pgf/number format/.cd,use comma%
} 
\begin{document} 
\begin{figure} 
\centering 
\begin{tikzpicture} 
% 
\begin{axis}[axis x line=bottom, axis y line=left, 
  xlabel= Zeit , 
  xmin=0, xmax= 330, 
  ylabel= einheit, 
  ymin=0, ymax=25, 
  xtick={0,30,...,300}, 
  scaled ticks=false, 
  width=0.9\textwidth, height=5cm, 
  ] 
\addplot[mark=, color=blue, smooth] table[x expr=\thisrowno{0}/60]{test.txt}; 
\end{axis} 
% 
\end{tikzpicture} 
\caption[zeuch]{zeuch}
\label{pic:abc} 
\end{figure} 
\end{document}
Dateianhänge
gl_plotmitvielendaten.png
gl_plotmitvielendaten.png (15.09 KiB) 1583 mal betrachtet
test.txt
(48.68 KiB) 282-mal heruntergeladen

Nrbrt
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 4. Jul 2016, 15:11

Beitrag von Nrbrt »

Vielen Dank!
Im Minimalbeispiel funktioniert das schon mal.

Leider kommt bei Kompilieren meines Gesamtdokuments die Fehlermeldung
Dimension too large.
<to be read again> 
                   \let 
l.285 \end{axis}
wobei Zeile 285 die Zeile ist, in der das axis dieses Graphen beendet wird.
Wo liegt mein Fehler? Ist die Datei allgemein zu groß, so dass der Rechner das nicht mehr packt? Oder liegt es wirklich an dieser Abbildung?
Danke!

Nachtrag: Sobald ich die \addplot-Zeile auskommentiere funktioniert es und zeichnet eben nur das Koordinatensystem ohne Graphen ins Dokument.
Zuletzt geändert von Nrbrt am Mo 11. Jul 2016, 09:38, insgesamt 1-mal geändert.

DADABBI

Beitrag von DADABBI »

Bei Verwendung der Daten aus dem gezeigten Beispiel oder mit anderen Daten?

Beachte, dass die Daten unbedingt utf8 statt utf16 codiert sein sollten, wie esdd das auch gezeigt hat.

Die Fehlermeldung deutet darauf hin, dass ein Wert zu groß ist. TeX kann nicht beliebig große Werte verarbeiten. Mit der Größe der Datei in Bytes hat das Problem dagegen eher nichts zu tun.

Nrbrt
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 4. Jul 2016, 15:11

Beitrag von Nrbrt »

Jetzt bin ich verwirrt..
Ich hatte die Datei bereits vorher in utf8 gespeichert und es hat nicht funktioniert.
Nun, nachdem ich es einmal habe durchlaufen lassen mit auskommentierter \addplot-Zeile und danach wieder mit der einkommentierten Zeile funktioniert es..
Hätte ich öfter die Hilfsdateien löschen müssen? Mache ich eigentlich immer mal wieder, wenn ein Problem auf kommt..
Nun ja - es funktioniert und darauf kommt es an!

Vielen Dank nochmal!

DADABBI

Beitrag von DADABBI »

Ich gehe davon aus, dass die Frage damit beantwortet ist. Bitte achte künftig selbst auch den richtigen Diskussionsstatus.

Antworten