_Daniel_
06-08-2011, 18:56
Hallo, ich schon wieder.
Ich habe noch ein Problem beim plotten meiner Daten. Ich habe hier jetzt ein paar Messergebnisse, die ich als Punkte in einem Diagramm einfügen möchte. Anschließend rufe ich Gnuplot auf und lasse eine Kurve durch die Messwerte legen.
Dabei ergeben sich im Moment noch zwei Probleme: Obwohl ich den Legendeneintrag meiner Meinung nach exakt zugeordnet habe wird die Legende nicht richtig dargestellt. Die eingezeichneten Punkte sollen in die Legende, es erscheint aber die Kurve die Gnuplot zeichnet. Wo mache ich da den Fehler?
Die zweite Frage, die vielleicht auch die Antwort auf die erste ist: Wie kann ich die Gestalt der Datenpunkte verändern? D.h. Quadrat, Raute, Kreis habe ich gefunden, aber wie kann ich da die Farbe zuordnen? In dem unten eingefügten Minimalbeispiel erstellt er in der oberen Kurve braune Kreise mit schwarzen Kreuzen? Woher kommen die Kreuze, wie kann ich die Farbe der Punkte verändern?
Das pgfplot manual habe ich gelesen, dort steht auch etwas zu den lineStyles (S.83,84) die mir den braunen Punkt erzeugt haben, den blauen habe ich aus irgendeinem Beispiel. Dann gibts da noch das Kapitel: 4.6.6 Cycle Lists { Options Controlling Line Styles,
allerdings ist das für mich wohl zu umständlich für die zwei oder drei Plots, bzw. ich habe das auch nicht verstanden.
Hier mal mein Minimalbeispiel:
\begin{filecontents}{test1.dat}
5 50
15 80
45 120
\end{filecontents}
\begin{filecontents}{test2.dat}
15 90
30 120
40 140
\end{filecontents}
\documentclass[%
a4paper,% Wir verwenden A4 Papier.
oneside,% Einseitiger Druck.
idxtotoc% Index ins Inhaltsverzeichnis einfügen. bibliography
]{scrartcl}
\thispagestyle{empty}
%\usepackage[left=3.0cm,right=2cm,top=1cm,bottom=2cm]{geometry}
\usepackage[latin1]{inputenc} %9
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
width=14cm,height=6cm,
scale only axis, %scalierung der x Achse
xmin=0,xmax=55, % xmin und max
xtick={0,5,10,15,20,25,30,35,40,45,50,55},
ymin=50,ymax=150,
ytick={50,70,...,150},
minor y tick num =1, % ymin und max
axis y line*=left, % the '*' avoids arrow heads
xlabel={Die X-Achse},
ylabel={Wirkungsgrad [$\%$]},
legend style={name={leg1},at={(0.97,0.97)},anchor=north east,legend columns=1},
grid=major]
\addplot+[
only marks,
mark=square*,
nodes near coords,
nodes near coords align={vertical},
enlargelimits=0.2,
black] table{test1.dat};
\addlegendentry{Punkte test1},
%
\addplot+[
raw gnuplot,
mark=none,
dotted,
line width=1pt,
black
] gnuplot {
f(x)=a*x**3+b*x+c;
fit f(x) 'test1.dat' using 1:2 via a,b,c;
plot [x=5:45] f(x);
};
\addplot+[
only marks,
mark=otimes*,
nodes near coords,
nodes near coords align={north west},
enlargelimits=0.2,
black] table{test2.dat};
\addlegendentry{Punkte test2},
\addplot+[
raw gnuplot,
mark=none,
dashed,
line width=1pt,
black] gnuplot {
f(x)=a*x**3+b*x+c;
fit f(x) 'test2.dat' using 1:2 via a,b,c;
plot [x=15:40] f(x);
};
\end{axis}
\end{tikzpicture}
\end{document}
Es wäre schön wenn sich das mal jemand anschaut und mir helfen kann.
Schon mal vielen Dank.
Gruß Daniel
Ich habe noch ein Problem beim plotten meiner Daten. Ich habe hier jetzt ein paar Messergebnisse, die ich als Punkte in einem Diagramm einfügen möchte. Anschließend rufe ich Gnuplot auf und lasse eine Kurve durch die Messwerte legen.
Dabei ergeben sich im Moment noch zwei Probleme: Obwohl ich den Legendeneintrag meiner Meinung nach exakt zugeordnet habe wird die Legende nicht richtig dargestellt. Die eingezeichneten Punkte sollen in die Legende, es erscheint aber die Kurve die Gnuplot zeichnet. Wo mache ich da den Fehler?
Die zweite Frage, die vielleicht auch die Antwort auf die erste ist: Wie kann ich die Gestalt der Datenpunkte verändern? D.h. Quadrat, Raute, Kreis habe ich gefunden, aber wie kann ich da die Farbe zuordnen? In dem unten eingefügten Minimalbeispiel erstellt er in der oberen Kurve braune Kreise mit schwarzen Kreuzen? Woher kommen die Kreuze, wie kann ich die Farbe der Punkte verändern?
Das pgfplot manual habe ich gelesen, dort steht auch etwas zu den lineStyles (S.83,84) die mir den braunen Punkt erzeugt haben, den blauen habe ich aus irgendeinem Beispiel. Dann gibts da noch das Kapitel: 4.6.6 Cycle Lists { Options Controlling Line Styles,
allerdings ist das für mich wohl zu umständlich für die zwei oder drei Plots, bzw. ich habe das auch nicht verstanden.
Hier mal mein Minimalbeispiel:
\begin{filecontents}{test1.dat}
5 50
15 80
45 120
\end{filecontents}
\begin{filecontents}{test2.dat}
15 90
30 120
40 140
\end{filecontents}
\documentclass[%
a4paper,% Wir verwenden A4 Papier.
oneside,% Einseitiger Druck.
idxtotoc% Index ins Inhaltsverzeichnis einfügen. bibliography
]{scrartcl}
\thispagestyle{empty}
%\usepackage[left=3.0cm,right=2cm,top=1cm,bottom=2cm]{geometry}
\usepackage[latin1]{inputenc} %9
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
width=14cm,height=6cm,
scale only axis, %scalierung der x Achse
xmin=0,xmax=55, % xmin und max
xtick={0,5,10,15,20,25,30,35,40,45,50,55},
ymin=50,ymax=150,
ytick={50,70,...,150},
minor y tick num =1, % ymin und max
axis y line*=left, % the '*' avoids arrow heads
xlabel={Die X-Achse},
ylabel={Wirkungsgrad [$\%$]},
legend style={name={leg1},at={(0.97,0.97)},anchor=north east,legend columns=1},
grid=major]
\addplot+[
only marks,
mark=square*,
nodes near coords,
nodes near coords align={vertical},
enlargelimits=0.2,
black] table{test1.dat};
\addlegendentry{Punkte test1},
%
\addplot+[
raw gnuplot,
mark=none,
dotted,
line width=1pt,
black
] gnuplot {
f(x)=a*x**3+b*x+c;
fit f(x) 'test1.dat' using 1:2 via a,b,c;
plot [x=5:45] f(x);
};
\addplot+[
only marks,
mark=otimes*,
nodes near coords,
nodes near coords align={north west},
enlargelimits=0.2,
black] table{test2.dat};
\addlegendentry{Punkte test2},
\addplot+[
raw gnuplot,
mark=none,
dashed,
line width=1pt,
black] gnuplot {
f(x)=a*x**3+b*x+c;
fit f(x) 'test2.dat' using 1:2 via a,b,c;
plot [x=15:40] f(x);
};
\end{axis}
\end{tikzpicture}
\end{document}
Es wäre schön wenn sich das mal jemand anschaut und mir helfen kann.
Schon mal vielen Dank.
Gruß Daniel