2012-03-12 8 views
17

Basta una semplice domanda (immagino), ma, Diciamo che ho il seguente file di dati:Avere "automatico" x

# no x data, it's sampled for instance each second. 
23 42 48 
49 89 33 
39 44 97 

Come (se possibile) posso trama che, come se fosse

1 23 42 48 
2 49 89 33 
3 39 44 97 

utilizzando 1,2,3, .. (prima colonna) come x?

fare qualcosa del tipo: plot "file.dat" using (lineNumber):3 per esempio.

risposta

13

utilizzare awk per enumerare la linea. Per esempio. per tracciare la terza riga del file di dati, utilizzare:

plot "<awk '{print FNR,$0}' DATAFILE" u 1:4 

Nota che awk aggiunge LINENUMBERS, quindi la prima colonna è LineNumber.

Ma in realtà si può avere molto più facile per il 2D trame

plot "DATAFILE" u 3 

fa lo stesso, gnuplot viene automaticamente utilizzando il numero di riga per l'asse x

+0

grazie, perfetto :) – user978548

35

Se non si desidera per fare affidamento su awk, gnuplot può farlo anche tu. Vedi help plot datafile using e help plot datafile using pseudocolumns. Prova:

plot "file.dat" using (column(0)):3 
+0

grazie anche a te! – user978548

+12

Puoi anche usare il comando "plot" file.dat "usando 0: 3' – John

+0

Oppure, come indicato nell'altra risposta, anche" trama "file.dat" usando 3' – vitaly

1

O più semplicemente, è anche possibile digitare: plot "file.dat" u ($0):3

questo vi permetterà di modificare la variabile indice linearmente, come si farebbe con qualsiasi altra colonna

quali scala da 2 e aggiungendo 1: plot "file.dat" u (($0)*2+1):3

Problemi correlati