2012-08-22 14 views

Odpowiedz

9

To zależy od tego, jak wygląda twój plik danych. Po włożeniu pustej przestrzeni w pliku danych, nie będzie połączyć te sąsiednie punkty (Jest to najprostszy sposób):

rozważenia:

#datafile 
1 2 
2 3 

4 2 
5 3 

a następnie skrypt aby go wykreślić:

plot 'datafile' u 1:2 w linespoints 

Istnieją inne sztuczki, w które możesz zagrać z brakującymi danymi: set datafile missing. Dobrym odniesieniem do tego jest wbudowana pomoc (help missing).

+0

Dzięki, ale mój datafile nie tylko zawierają 2 kolumny: –

+0

Dzięki, ale mój da tafile zawiera wiele kolumn, tylko 1 z tych kolumn ma brakujący punkt danych. Więc nie mogę dodać pustej linii, to spowoduje, że inne kolumny/linie będą nieciągłe. Pozwól mi spróbować dołączyć osobny plik dla tej kolumny, może to zadziałać. –

+0

@CharryWong - Tutaj pojawia się część 'set datafile missing' z mojej odpowiedzi. – mgilson

0

Dla pojedynczego wykresu należy użyć set datafile missing, aby określić ciąg znaków oznaczający brakującą wartość, oraz specyfikatora using $, aby upewnić się, że gnuplot zostawia lukę w linii dla brakującej wartości. Różne specyfikatory using są opisane w gnuplot documentation for set datafile missing.

Tam, gdzie numer kolumny został określony jako zmienna, jest to nieco trudniejsze. Na przykład, aby wykreślić wiele kolumn o jeden plik może określić liczbę kolumn przy użyciu zmiennej:

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

Jednak jeśli spróbujemy użyć składni $ to nie działa:

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

rozwiązaniem jest użycie column function, który pozostawia także półfabrykatów dla brakujących wartości:

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