2012-07-18 13 views

risposta

14

Non c'è un modo per tracciare la coordinata x da un file e la coordinata y da un altro nativo in gnuplot.

Se si utilizza una shell bash-like, è possibile utilizzare il comando

paste x_data.dat y_data.dat > xy_data.dat 

per unire i file riga per riga. Se si desidera inserire questo comando in uno script gnuplot, è possibile farlo in questo modo:

plot "<paste x_data.dat y_data.dat" 
+1

grazie per il vostro aiuto – sangi

4

C'è un modo più semplice per fare ciò che si chiede, direttamente dall'interno di gnuplot. Prova con:

plot "< join file1.dat file2.dat" using 1:2 with lines 

Se entrambi i file contengono solo una colonna, il comando precedente li stamperà uno contro l'altro.

Il comando join è utile anche per eseguire operazioni aritmetiche che coinvolgono colonne da file diversi; per esempio, se entrambi i file hanno due colonne, poi

plot "< join file1.dat file2.dat" using 1:($2+$4) with lines 

sarà tracciare la prima colonna del primo file contro la somma tra la seconda colonna della prima e seconda file.

Il comando join fa parte di GNU core utilities. Il mio Mac li ha installati di default; Immagino che questo è il caso per la maggior parte dei sistemi Linux. Se usi Windows, dai un'occhiata a GnuWin.

Fonte: la mailing list gnuplot (http://gnuplot.10905.n7.nabble.com/combining-data-from-different-input-files-td3528.html).

Problemi correlati