Seite 1 von 1

Messreihen auf Null setzen

Verfasst: Do 8. Nov 2018, 11:30
von Student007
Hallo,

ich habe folgendes Problem: Ich möchte zwei Messreihen darstellen (rot und blau). Beide fangen aber nicht bei Null an (y-Achse). Jetzt würde ich gerne jeweils die ersten 25 Messwerte nehmen, von diesen den Durschnitt berechnen und diesen Wert anschließden von allen Messpunkten abziehen. Das würde dazu führen, dass meine Messreihen immer bei Null beginnen.

Hier ist mal mein Code:
\begin{tikzpicture}
\pgfplotsset{every axis plot post/.append style={mark=none, line width=2.5pt}, every axis legend/.append style={at={(0.14,0.7)},anchor=south},  legend cell align={left}}

\begin{axis}[ymin=0, ymax=1400, xmin=0, xmax=210, axis y line*=right, axis x line=none, height=8cm, width=.85\textwidth, ylabel=Temperatur in °C, y label style={at={(axis description cs:1.1,0.5)},rotate=180, anchor=south},tick label style={/pgf/number format/1000 sep=}]
\addplot[color=black,mark=*,dashed] table [x index=0, y index=1, col sep=space] {52.txt};
\label{plot_Temperatur}
\addlegendentry{Temperatur}
\end{axis}


\begin{axis}[clip=false, ymin=0, xmin=0, xmax=210, height=8cm, width=.85\textwidth, axis y line*=left, xlabel=Zeit in min, ylabel=Ionenstrom in $\mathrm{\frac{A}{mg}}$, tick label style={/pgf/number format/use comma}]
\node[left] at (axis description cs:0.99,0.9) {$\mathrm{H_2S}$};
\addlegendimage{/pgfplots/refstyle=plot_Temperatur}\addlegendentry{Temperatur}
\addplot[blue, smooth, tension=1] table [x index=0, y index=26, col sep=space] {52.txt}; 
\addlegendentry{plot 1}
\addplot+[red, smooth, tension=1] table [x index=0, y index=26, col sep=space] {53.txt}; 
\addlegendentry{plot 2}
\end{axis}

\end{tikzpicture}

Einfacher denken

Verfasst: Do 8. Nov 2018, 12:17
von Ratgeber
Um beide Messreihen bei Null beginnen zu lassen, reicht es doch vollkommen, den jeweils ersten Messwert einer Reihe von allen folgenden Messwerten abzuziehen. Das wäre genauer als der von dir in Betracht gezogene Abzug eines Durchschnittswerts aus einer ausgewählten Menge an Messwerten zu Beginn einer Messreihe. Und das könntest Du auch entweder mit einer Tabellenkalkulation deiner Wahl direkt im Datensatz ändern oder mit dem Schlüssel y expr direkt bei \addplot entsprechend beeinflussen.

Verfasst: Do 8. Nov 2018, 13:46
von Student007
Wie müsste der Code denn dann aussehen bzw. wie greife ich auf die erste Zeile in meiner Spalte zu?

Ich habe folgendes Probiert:
\addplot+[red, smooth, tension=1] table [x index=0, y index=26, col sep=space, y expr={\thisrowno{26}-\coordindex{0}}] {53.txt};
Das funktioniert aber nicht.

Eine Möglichkeit über die ersten 25 Punkte zu Mitteln und anschließend den Wert abzuziehen gibt es nicht?

Erstmal was Brauchbares

Verfasst: Do 8. Nov 2018, 16:38
von Ratgeber
Student007 hat geschrieben:Wie müsste der Code denn dann aussehen bzw. wie greife ich auf die erste Zeile in meiner Spalte zu? […]
Das kann ich ohne verwertbares Material nicht genau sagen. Es fehlen deinem Beispiel neben der Lauffähigkeit vor allem die Dateien mit den Daten. Und wenn die Anleitung zu »pgfplots« nicht direkt eine Lösung anbietet, hilft durchaus die Suchmaschine deiner Wahl mit entsprechender Eingabe von Suchbegriffen.

LaTeX-Code für den Zugriff auf die erste Zeile eines Datensatzes ist nicht nötig, da dieser in ASCII-Text vorliegt und mit jedem einfachen Texteditor geöffnet und angesehen werden kann.

Student007 hat geschrieben:[…] Eine Möglichkeit über die ersten 25 Punkte zu Mitteln und anschließend den Wert abzuziehen gibt es nicht?
Ob es die gibt weiß ich nicht, schließe es aber nicht aus. Da ich den Sinn dieser Mittlung in diesem Kontext aber nicht erkenne, bin ich zu der Ausarbeitung einer Lösung nicht wirklich motiviert.