2011-01-14 16 views
8

Voglio scrivere uno script bash per automatizzare il tracciamento dei dati, utilizzando uno strumento di tracciamento chiamato xmgrace, ma voglio essere in grado di selezionare quali colonne sono tracciate.Come faccio a tracciare determinate colonne usando xmgrace nel terminale?

Nel mio file di dati ho 3 colonne, con i dati x e y nella prima e nella terza colonna. Come faccio a tracciare x contro y quando i dati sono formattati in questo modo?

Ho provato xmgrace -bxy [1:3] data ma quello non ha funzionato, ha detto No block data read e ha trattato la seconda colonna come valori y.

risposta

11

La sintassi corretta per questo tipo di problema è

xmgrace -block file -bxy 1:3 

Ciò

  1. Leggere il file come un file di blocco
  2. Plot 3 ° colonna contro la prima colonna.
+0

Grazie, esattamente quello che stavo cercando – Eddy

+1

FYI, '-bxy 0: 3' trame il 3 ° colonna vs il numero di riga. –

+0

Inoltre, per i tipi di set che coinvolgono più di due colonne, come xydy (x, y e errorbar), la sintassi è 'xmgrace -block file -settype xydy -bxy 1: 2: 3'. –

2

Un altro modo flessibile di realizzare la stessa cosa è quello di utilizzare awk o cut:

awk '{print $1,$3}' data | xmgrace - 
cut -f1,3 data | xmgrace - 
Problemi correlati