2016-07-13 4 views
3

überspringen Ich möchte unter Datei mit gnuplot mit einer fortlaufenden Zeile plotten. Das Problem ist, dass nach jedem Punkt eine Leerzeile vorhanden ist. Ich kann eine Grafik mit Punkten bekommen. Kannst du mir bitte Helfen?Wie kann ich leere Zeilen in gnuplot

x y type 

    0 -1866.47 i 

100 -1866.52 i 

200 -1867.11 i 

300 -1868.78 i 

400 -1871.58 i 

500 -1875.4 i 

600 -1880.12 i 

700 -1885.62 i 

800 -1891.81 i 

900 -1898.63 i 

1000 -1906.02 i 

1100 -1913.94 i 

1200 -1922.33 i 

1300 -1931.17 i 

1400 -1940.43 i 

1500 -1950.08 i 

1600 -1960.11 i 

1700 -1970.49 i 

1800 -1981.22 i 

1900 -1992.27 i 

2000 -2003.63 i 

Antwort

1

Sie können die Datei mit einem externen Befehl herausfiltern. ZB in einem * nix-OS können Sie awk verwenden:

plot "< awk 'NF!=0 { print $0 }' file.dat" w l 

(in awk Syntax, NF die Anzahl der Felder in einer bestimmten Zeile gibt, und $0 enthält die gesamte Linie)

+0

Hallo Joce, hat dieser Befehl keine Handlung im x11-Terminal hergestellt. – ehsan

+0

Enthält 'file.dat' die obigen Beispieldaten? Bei Ihrem Beispiel müssen Sie die erste Zeile überspringen. Aber Sie sollten auf jeden Fall eine Fehlermeldung erhalten. – Joce

+0

Ich fand es viel einfacher, die Datei zuerst mit (grep -e "" file.dat "file1.dat) zu bearbeiten, um leere Zeilen zu entfernen und dann zu plotten. Problem ist, dass ich mehrere Blöcke von x, y in der Datei habe. gnuplot kann die Blöcke nicht erkennen und erzeugt alle Linien in der gleichen Farbe. – ehsan

0

Sie betrügen mit splot: D

set ticslevel 0 
set view 90,0 
unset ytics 
set xtics offset 0,-1 
splot 'empt.txt' u 1:1:2 w l t 'title' 

enter image description here

+0

Vielen Dank an euch beide :) – ehsan