PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem gnuplot + babel



chaosman
10-12-2011, 21:09
Hallihallo
schonwieder einmal ich ;) Und schon wieder hat mein Gnuplot Probleme...
Ich habe mir die Messdatei (siehe Anhang) einlesen lassen und wollte 2 Ausgleichsgeraden erstellen lassen - das klappt auch ganz gut aber nur wenn ich das babel paket nicht nutze. Wie schaffe ich es beides drin zu haben? Dieser Graph ist Teil einer umfangreicheren Arbeit in der ich deutsche Trennung unbedingt brauche


\documentclass[12pt
,a4paper
]{scrartcl}
\usepackage[miktex]{gnuplottex} %gnuplot
\usepackage{pgfplots} %plots
\usepackage[ngerman]{babel} %Automtische Kapitelnamen und deutsche Trennregeln
\begin{document}
\pgfplotstableread{mess1.txt}{\datatable}
\begin{tikzpicture}[scale=1.5]
\begin{axis}[
xlabel= $ml$,
ylabel= $m\sigma$,
xmin=0,
ylabel near ticks,
xlabel near ticks,
xmax=25,
ymin=0,
xtick={0,2,4,6,8,10,12,14,16,18,20,22,24},
minor x tick num=3,
minor y tick num =4,
x=0.3cm,y=1.0cm,
legend style={at={(1,1)},xshift=0.2cm,anchor=north west,nodes=right}
]
\addplot [red,no marks]table[y = Y1] from \datatable ;
\addplot [blue,no marks]table[y = Y2] from \datatable ;
\addplot [green,no marks]table[y = Y3] from \datatable ;

\addplot+ [raw gnuplot, mark=none, line width=0.8pt, black] gnuplot [id=mess1]{
f(x)=a*x+b;
fit [9:25]f(x) "mess1.txt" using 1:2:3:4 via a,b;
plot [x=2:25] f(x);};
\addplot+ [raw gnuplot, mark=none, line width=0.8pt, black] gnuplot [id=mess1]{
f(x)=a*x+b;
fit [0:8]f(x) "mess1.txt" using 1:2:3:4 via a,b;
plot [x=0:13] f(x);};
\end{axis}
\end{tikzpicture}
\end{document}


Vielen Dank im Vorraus
Gruß Chaos

P.s. Wenn das babel Paket geladen ist bleibt der code weiterhin compilierbar - nur die Ausgleichsgerade verschwindet

chaosman
10-12-2011, 22:21
ich habe gerade herausgefunden dass die Ausgleichsgeraden noch immer da sind wenn ich die Sprache für den Plot auf Englisch setze. Das kann aber doch nicht so ganz des Rätsels Lösung sein. Falls mir jemand etwas besseres sagen kann wärs schön ;)


\documentclass[12pt
,a4paper
]{scrartcl}
\usepackage[miktex]{gnuplottex} %gnuplot
\usepackage{pgfplots} %plots
\usepackage[ngerman]{babel} %Automtische Kapitelnamen und deutsche Trennregeln
\begin{document}
\foreignlanguage{english}{
\pgfplotstableread{mess1.txt}{\datatable}
\begin{tikzpicture}[scale=1.5]
\begin{axis}[
xlabel= $ml$,
ylabel= $m\sigma$,
xmin=0,
ylabel near ticks,
xlabel near ticks,
xmax=25,
ymin=0,
xtick={0,2,4,6,8,10,12,14,16,18,20,22,24},
minor x tick num=3,
minor y tick num =4,
x=0.3cm,y=1.0cm,
legend style={at={(1,1)},xshift=0.2cm,anchor=north west,nodes=right}
]
\addplot [red,no marks]table[y = Y1] from \datatable ;
\addplot [blue,no marks]table[y = Y2] from \datatable ;
\addplot [green,no marks]table[y = Y3] from \datatable ;
\addplot+ [raw gnuplot, mark=none, line width=0.8pt, black] gnuplot [id=mess1]{
f(x)=a*x+b;
fit [9:25]f(x) "mess1.txt" using 1:2:3:4 via a,b;
plot [x=2:25] f(x);};
\addplot+ [raw gnuplot, mark=none, line width=0.8pt, black] gnuplot [id=mess1]{
f(x)=a*x+b;
fit [0:8]f(x) "mess1.txt" using 1:2:3:4 via a,b;
plot [x=0:13] f(x);};
\end{axis}
\end{tikzpicture}}\\

\end{document}

localghost
11-12-2011, 12:07
Du brauchst gnuplottex (http://ctan.org/pkg/gnuplottex) nicht, wenn Du pgfplots (http://ctan.org/pkg/pgfplots) benutzt. Und bei mir wirft dein Code auch Fehler aus, die die Ausgleichsgeraden betreffen. Kann auch an meiner Version des Pakets liegen.

Dein Beispiel funktioniert deshalb nicht, weil Du bei den Ausgleichsgeraden eine falsche Syntax für Gnuplot eingegeben hast.

\addplot+[raw gnuplot,mark=none,line width=0.8pt,black] gnuplot [id=mess1] {
f(x)=a*x+b;
fit [9:25]f(x) 'mess1.txt' using 1:2:3:4 via a,b;
plot [x=2:25] f(x);
};
\addplot+[raw gnuplot,mark=none,line width=0.8pt,black] gnuplot [id=mess1] {
f(x)=a*x+b;
fit [0:8]f(x) 'mess1.txt' using 1:2:3:4 via a,b;
plot [x=0:13] f(x);
};
An Stelle von Apostrophen hast Du Anführungszeichen eingegeben. Den Zusammenhang mit babel (http://ctan.org/pkg/babel) kann ich mir nicht erklären.


Thorsten

cgnieder
11-12-2011, 13:39
An Stelle von Apostrophen hast Du Anführungszeichen eingegeben. Den Zusammenhang mit babel (http://ctan.org/pkg/babel) kann ich mir nicht erklären.

Die Anführungszeichen sind nicht falsch, aber für das Problem mit babel verantwortlich. Bei ngerman sind Anführungszeichen eine shorthand Notation für \". Mit
\shorthandoff{"} klappt dann auch alles wie gewünscht...

localghost
11-12-2011, 15:01
Die Anführungszeichen sind nicht falsch, aber für das Problem mit babel verantwortlich. Bei ngerman sind Anführungszeichen eine shorthand Notation für \". Mit
\shorthandoff{"} klappt dann auch alles wie gewünscht...
Da hätte ich auch selbst drauf kommen müssen. Zumal mir ähnliche Probleme schon mit pgf/tikZ (http://ctan.org/pkg/pgf) und der Option »spanish« für babel (http://ctan.org/pkg/babel) begegnet sind. Aber bevor ich jedes mal die "shorthands" abschalte (und dann irgendwann wieder anschalte), wähle ich doch lieber die Apostrophen.

chaosman
17-12-2011, 18:11
oh danke ;) da wär ich allein nie drauf gekommen