Seite 1 von 1

pgfplots: Dim too large bei skalierung der x-Achse

Verfasst: Mi 5. Sep 2012, 11:37
von mel2503
Hi,

ich versuche in meiner Master-Thesis Daten aus einer Datei zu plotten mit Hilfe des pgfplots-package. Soweit klappt auch alles ganz gut. Meine x-werte sind mit einer schrittweite von 0.005. ich würde gerne den bereich von 2.99 bis 3.01 darstellen. Leider kommt dann diese Fehlermelung: Dimension too large

Wenn ich xmin=2.9 und xmax=3.1 setzte klappt alles wunderbar.

Was mache ich denn falsch oder habe irgendeinen Denkfehler drin?

hier mein minimalbeispiel:
\documentclass[]{article}
\usepackage[german,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{tikz,pgfplots}
  \pgfplotsset{every axis label/.style={font={\footnotesize}}}
\usepgfplotslibrary{groupplots}


\begin{document}
test


\begin{figure}[H]
\centering	
		\begin{tikzpicture}
		\begin{semilogyaxis}[
			title={Original KARDOS-Lösung },
			xtick={0,3,6,9},
			grid=both,
			xlabel=time,
			xmin=2.99,
			xmax=3.01,		
			 height=8cm,width=10cm,
			yticklabel={%
			\pgfplotsset{/pgf/fpu}% <-- erweiterter zahlenbereich
			\pgfmathparse{exp(\tick)}% exponentiere den exponent
			\pgfmathprintnumber[fixed]{\pgfmathresult}% formatiere die zahl
			},
			ylabel=$L_2$-Fehler im Druck 
			]
			\addplot[color=black,style = solid] table {square_k0.005_h0.2_0_9_pDiff1.txt};
				\end{semilogyaxis}
	\end{tikzpicture}

\end{figure}
\end{document}
Vielen Dank für das lesen!
mel

Verfasst: Do 6. Sep 2012, 11:15
von mel2503
Habe ich beim Posten meiner Frage irgendetwas falsch gemacht? ich kenne dieses Forum normalerweiße als ein recht schnelles, oder ist meine frage einfach zu doof?
ich wäre wirklich dankbar, wenn mir jm helfen könnte :)

Verfasst: Fr 7. Sep 2012, 17:44
von feuersaenger
Hi Mel,

es sieht so aus, als habe pgfplots Probleme beim plotten der *nicht* angezeigten Datenpunkte.

Kombiniert mit dem Verhaeltnis von angezeigten Bereich zu Datenbereich (0:9 vs 2.99:3.01 ,d.h. ein Verhaeltnis von 9/(3.01-2.99) = 450 ) scheint das Probleme zu machen. Vielleicht ein bug?

In jedem Fall kannst Du es beheben, wenn Du von den angezeigten Punkten alle die ausschliesst, die weit (!) ausserhalb des interessanten Bereichs liegen.

Das geht mit
restrict x to domain=2.5:3.5,
damit werden nur noch solche Koordinaten angezeigt, die in 2.5 : 3.5 liegen ... macht in der Anzeige (fuer Dein Beispiel) wohl keinen unterschied; nur fuer die Koordinatenmappings.

Mit liebem Gruss

Christian

Verfasst: Fr 7. Sep 2012, 18:03
von mel2503
Vielen Dank, es funktioniert jetzt!