In gnuplot mit "set datafile fehlen", wie Sie ignorieren beide die "nan" - und "-nan"?
Den gnuplot-Befehl set datafile missing "nan"
sagt gnuplot zu ignorieren nan
Daten-Werte in der Daten-Datei.
Wie ignorieren nan
und -nan
? Ich habe versucht, die folgenden in gnuplot, aber dann ist die Wirkung der ersten Anweisung wird überschrieben durch den nächsten.
gnuplot> set datafile missing "-nan"
gnuplot> set datafile missing "nan"
Ist es möglich, somewhow einbetten grep -v nan
in der gnuplot-Befehl, oder sogar eine Art regexp auszuschließen denkbar, die nicht-numerische Daten?
- Siehe zu dieser Frage für die Verwendung von grep mit gnuplot commnad stackoverflow.com/questions/7600048/...
- Upvote für den #1-pick in Google Juni 2018
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es nicht möglich, einen regexp für
set datafile missing
, aber Sie können jedes beliebige Programm verwenden, filtern Sie die Daten, bevor Sie Plotten, und ersetzen eine regexp mit einem Zeichen, z.B.?
dem Sie markieren einen fehlenden Datenpunkt.Hier ist ein Beispiel, das erreicht, was Sie ursprünglich angefordert: Filterung
-nan
,inf
etc. Für die Prüfung, ich habe folgende Daten-Datei:- Und plotting-Skript kann wie folgt Aussehen:
Dies gibt die folgende Ausgabe:
Damit der plot-Befehl überspringt alle fehlenden Datenpunkte. Verfeinern Sie die
sed
filter zu ersetzen, die nicht-numerische Werte mit?
, wenn diese Variante nicht genug.Dies funktioniert gut, aber erlaubt nur die Spalten auswählen, z.B. mit
using 1:2
, aber nicht tun Berechnungen, die auf den Spalten, wie z.B.using ($1*0.1):2
. Um dies zu ermöglichen, können Sie einen filter aus einer Zeile, die enthältnan
,-inf
etc mitgrep
, wie Ihre getan in gnuplot fehlenden Daten mit der Auswertung eines Ausdrucks (danke @Thiru für den link):g
hinter deri
in der sed-Muster. Ich werde aktualisieren, die Antwort.