Messreihen auf Null setzen

Tabellen und Grafiken erstellen und anordnen


Student007
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Do 8. Nov 2018, 11:20

Messreihen auf Null setzen

Beitrag 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:

Code: Alles auswählen

\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}
Dateianhänge
Problem1.PNG
Problem1.PNG (45.02 KiB) 167 mal betrachtet

Ratgeber

Einfacher denken

Beitrag 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.

Student007
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Do 8. Nov 2018, 11:20

Beitrag 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:

Code: Alles auswählen

\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?

Ratgeber

Erstmal was Brauchbares

Beitrag 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.

Antworten