2013-04-18 26 views
10

Moje pytanie jest bardzo proste. Załóżmy, że mam plik danych z nagłówków kolumn, podobnie jak następujeJak ustawić etykietę osi z nagłówkiem kolumny w gnuplot?

first second 
1 1 
2 1 
3 6 
4 9 

W gnuplot Jak zrobić to tak, że datafile wykreślono stosując nagłówek kolumny jako etykiety osi? na przykład wywołując

plot datafile using 1:2 

dostaję Xaxis oznaczone first i yAxis oznaczone second?

edytuj: Wiem, że mogę użyć nagłówka kolumny jako wpisu kluczowego przez set key auto title column head, ale to nie jest to, czego szukam.

Odpowiedz

1

Nie sądzę, że ta funkcja jest wbudowana w gnuplot; prawdopodobnie będziesz musiał użyć narzędzia podobnego do awk, aby wyciągnąć te etykiety z pliku danych.

Możesz spróbować przesłać żądanie funkcji na stronie sourceforge gnuplot i uzyskać informację zwrotną od tamtejszych deweloperów.

+1

'awk' +' head -1' powinno to zrobić. – mgilson

-1

Myślę, że jest obsługiwany. Jesteś po prostu miało być w stanie wykorzystać „”:

fabuła „plik” używanie „pierwszy” „drugi”

Chociaż, jeśli chcesz zrobić matematyki w swojej wykorzystaniem specyfikacji, ty będzie potrzebne do kolumny ("") funkcji zbyt

plot 'plik' przy użyciu "pierwszy" :(kolumna ("drugiej") - (kolumna ("Thrid"))

(Używanie tylko cytowanych nazw nagłówków wi . Th matematyka nie działa dla mnie, w każdym razie)

+1

Za pomocą tej metody można wybierać kolumny według ciągów nagłówków zamiast 1 i 2, ale te nagłówki nie są używane jako etykiety osi. – Christoph

6

Aby opracować sugestię @andyras, oto jak można to zrobić:

datafile = 'filename.txt' 
firstrow = system('head -1 '.datafile) 
set xlabel word(firstrow, 1) 
set ylabel word(firstrow, 2) 
plot datafile using 1:2 

należy wykreślić z wyraźnym using oświadczeniu inaczej gnuplot będzie narzekać na bad data on line 1.

Powiązane problemy