Seite 1 von 1
Einfügen eines großen Datensatzes in axis funktioniert nicht
Verfasst: Do 7. Jul 2016, 17:14
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
Verfasst: Do 7. Jul 2016, 23:17
von esdd
Mit ein paar Änderungen im Code und einer utf8 statt utf16 kodierten Datei test.txt
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}
Verfasst: Mo 11. Jul 2016, 08:37
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.
Verfasst: Mo 11. Jul 2016, 09:35
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.
Verfasst: Mo 11. Jul 2016, 09:44
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!
Verfasst: Mo 11. Jul 2016, 10:25
von DADABBI
Ich gehe davon aus, dass die Frage damit beantwortet ist. Bitte achte künftig selbst auch den richtigen Diskussionsstatus.