2012-08-22 19 views

Antwort

9

Dies hängt davon ab, wie Ihre Datendatei aussieht. Wenn Sie ein Leerzeichen in Ihren Daten-Datei einfügen, wird es nicht jene benachbarten Punkten verbinden (Dies ist der einfachste Weg):

betrachten:

#datafile 
1 2 
2 3 

4 2 
5 3 

und dann das Skript es plotten:

plot 'datafile' u 1:2 w linespoints 

Es gibt andere Tricks, die Sie mit fehlenden Daten spielen können: set datafile missing. Eine gute Referenz dafür ist die eingebaute Hilfe (help missing).

+0

Danke, aber meine Daten-Datei gerade nicht enthält 2 Spalten: –

+0

Danke, aber meine da Tafile enthält viele Spalten, nur 1 dieser Spalten fehlt Datenpunkt. Ich kann also keine Leerzeile hinzufügen, dies führt dazu, dass andere Spalten/Zeilen diskontinuierlich sind. Lassen Sie mich versuchen, eine separate Datei für diese Spalte anzuhängen, es könnte funktionieren. –

+0

@CharryWong - Das ist, wo die 'set datafile missing' Teil meiner Antwort hereinkommt. – mgilson

0

Verwenden Sie für ein einzelnes Diagramm die Zeichenfolge set datafile missing, die einen fehlenden Wert angibt, und den Spezifizierer using $, um sicherzustellen, dass gnuplot in der Zeile eine Lücke für einen fehlenden Wert freigibt. Die verschiedenen using Spezifizierer sind in der gnuplot documentation for set datafile missing beschrieben.

Wenn die Spaltennummer als Variable angegeben wird, ist dies ein wenig komplizierter. Zum Beispiel können mehrere Spalten einer Datei ein plotten könnte die Spaltennummer mit einer Variablen angeben:

do for [i=2:10] { 
    plot 'datafile' using ($1):i with lines 
} 

Wenn wir jedoch die $ Syntax zu verwenden versuchen, funktioniert es nicht:

do for [i=2:10] { 
    plot 'datafile' using ($1):($i) # ERROR! 
} 

die Lösung ist die column function, zu verwenden, die auch Rohlinge für fehlende Werte Blätter:

do for [i=2:10] { 
    plot 'datafile' using ($1):(column(i)) with lines 
}