2011-01-14 17 views
8

Chcę napisać skrypt basha, aby zautomatyzować tworzenie wykresów danych za pomocą narzędzia do kreślenia o nazwie xmgrace, ale chcę mieć możliwość wyboru, które kolumny są drukowane.Jak wykreślić niektóre kolumny za pomocą Xmgrace w terminalu?

Powiedz w moim pliku danych Mam 3 kolumny, z danymi xiy w 1. i 3. kolumnie. Jak wykreślić x na y, gdy dane są sformatowane w ten sposób?

Próbowałem xmgrace -bxy [1:3] data ale to nie zadziałało, powiedział No block data read i traktował drugą kolumnę jako wartości y.

Odpowiedz

11

Poprawna składnia dla tego rodzaju problemu jest

xmgrace -block file -bxy 1:3 

Będzie

  1. Przeczytaj plik jako plik bloku
  2. działce 3rd kolumny przed 1. kolumnie.
+0

Dzięki, dokładnie to, czego szukałem – Eddy

+1

FYI, '-bxy 0: 3' Działki 3rd kolumny vs numer wiersza. –

+0

Ponadto, dla typów zestawów obejmujących więcej niż dwie kolumny, takich jak xydy (x, y i paski błędów), składnia to 'xmgrace -block file -settype xydy -bxy 1: 2: 3'. –

2

Innym elastyczny sposób osiągania samo jest użycie awk lub cut:

awk '{print $1,$3}' data | xmgrace - 
cut -f1,3 data | xmgrace - 
Powiązane problemy