Seite 1 von 1

pgfplots - 2 Graphen mit Fehlerbalken

Verfasst: Do 8. Apr 2010, 09:37
von wuntzt
Hallo allerseits,

ich benutze pgfplots für meine Diplomarbeit und möchte nun in einem Diagramm zwei plots darstellen, bei denen jeweils Fehlerbalken eingezeichnet sind.

Es klappt mit folgender Version einwandfrei. Die Abbildung ist unten drunter.
\begin{figure}[h!]
\begin{center}
\begin{tikzpicture}
\begin{axis}[
height=10cm,
width=10cm,
grid=major,
ylabel=Festigkeit (MPa),
xlabel=x-Gehalt(m-\%),
legend style={at={(0.5,0.5)},
anchor=center}
]

\addplot[red,mark=triangle*] plot[error bars/.cd,
y dir=both,y explicit]
coordinates {
(0.1,198) +- (0,2.53)
(0.2,229) +- (0,2.53)
(0.3,237) +- (0,2.53)
(0.4,228) +- (0,2.53)
(0.5,247) +- (0,2.53)
(0.6,252) +- (0,2.53)
};
\addlegendentry{$R_{p,0,2}$}
\end{axis}
\end{tikzpicture}
\caption{Die Werte für Zugfestigkeit und Dehngrenze}
\end{center}
\end{figure}
Bild

Sobald ich jedoch, wie in anderen Diagrammen zuvor, eine zweite Datenreihe reinschreibe, erhalte ich das richtige Diagramm, jedoch ohne Fehlerbalken!


\begin{figure}[h!]
\begin{center}
\begin{tikzpicture}
\begin{axis}[
height=10cm,
width=10cm,
grid=major,
ylabel=Festigkeit (MPa),
xlabel=x-Gehalt(m-\%),
legend style={at={(0.5,0.5)},
anchor=center}
]

\addplot[red,mark=triangle*] plot[error bars/.cd,
y dir=both,y explicit]
coordinates {
(0.1,198) +- (0,2.53)
(0.2,229) +- (0,2.53)
(0.3,237) +- (0,2.53)
(0.4,228) +- (0,2.53)
(0.5,247) +- (0,2.53)
(0.6,252) +- (0,2.53)};
\addlegendentry{$R_{p,0,2}$}

\addplot[blue,mark=square*] plot[error bars/.cd,
y dir=both,y explicit]
coordinates {
(0.018,709) +- (0,2.53)
(0.036,724) +- (0,4.59)
(0.085,716) +- (0,2.39)
(0.120,738) +- (0,1.89)
(0.185,742) +- (0,6.00)
(0.210,760) +- (0,4.01)};
\addlegendentry{$R_{m}$}


\end{axis}
\end{tikzpicture}
\caption{Die Werte für Zugfestigkeit und Dehngrenze}
\end{center}
\end{figure}
Das Bild dazu:
Bild



Hat jemand von Euch eine Idee, wie ich die Sache passend lösen kann, so dass Fehlerbalken bei beiden Datenreihen angezeigt werden? Ich möchte auf jeden Fall beide Ergebnisreihen in ein Diagramm packen.

Verfasst: Do 8. Apr 2010, 10:35
von bloodworks
Hallo
erstmal schönes Beispiel (mit Bildern das mag ich doch!), wenngleich auch kein Minimalbeispiel, sehr schön.

Zu deinem Problem: Die Fehlerbalken sind sehr wohl da. Nur sind sie so klein, dass sie hinter den Punkten (marks) verschwinden. Setz mal marks=none und zoom an einen Datenpunkt heran. Dann wirst du sehen, dass die Auslenkung der Fehlerbalken sehr gering ist. (Auf einer Skala von knapp 1000 einen Fehler mit knapp 2 zusehen ist nicht sehr einfach...)

Lösung: Entweder andere Fehler oder größeres Diagramm (width=\textwidth zb) oder angeben "Fehler zwischen 1 und 2 im Diagramm nicht sichtbar " oder so.

Verfasst: Do 8. Apr 2010, 12:39
von wuntzt
Wow, darauf muss man erstmal kommen. Ich bin so vertieft in LaTeX, dass ich die simpelsten Argumente sowie Denken vergesse.

Aber die Freude ist groß, dass das Problem gelöst ist! :D

Wahrscheinlich werde ich die beiden Datenreihen dann getrennt voneinander auflisten, wodurch die Fehler besser sichtbar werden. Oder einfach mark=none lassen, jenachdem was im Institut besser ankommt.

Danke!

Verfasst: Do 8. Apr 2010, 12:47
von bloodworks
... Ich denke ich muss dir das nicht sagen, aber vll liest das ja mal jemand anderes: im Allgemeinen dürfen diskrete Datenpunkte nicht so einfach verbunden werden, da die Verbindung keiner Beobachtung entspricht. In vielen Naturwissenschaftlichen Review Blättern wird so was abgelehnt, mit der Anmerkung: woher kommt die Funktion? Also aufpassen! pgfplots kennt dafür den key only marks.


Auf jeden Fall, wuntzt, dir noch viel Spaß mit deiner Arbeit.

BTW: Ich bin mal so frei und passe den Status an!