2009-12-03 16 views
5

ho un file di dati che assomiglia a questoetichette sui dati di input in gnuplot

#index name1 name2 name3 
1 2 3 4 
2 3 4 5 
3 4 5 6 
4 5 6 7 

voglio tracciare 3 linee:

plot "data" using 1:2 with lines,\ 
... 

Questo funziona bene, tranne che per le etichette di riga. Come posso specificare i nomi delle colonne nel file di dati?

risposta

13

Se si dispone di gnuplot 4.2 o più recente, è possibile farlo abbastanza facilmente. Sarà necessario sbarazzarsi del marcatore di commento nella prima riga però.

Con un file in questo modo:

index name1 name2 name3 
1 2 3 4 
2 3 4 5 
3 4 5 6 
4 5 6 7 

la seguente vi fare quello che vuoi:

set key autotitle columnheader 
plot 'a.dat' u 1:2 w l, '' u 1:3 w l, '' u 1:4 w l 

Se faccio set term dumb prima della stampa, ho un bel terreno ascii. Amo gnuplot!

7 ++----------+----------+-----------+-----------+----------+---------$$$ 
    +   +   +   +   +   name1$****** + 
    |              $name2 ###### | 
    |             $$$$$$ name3 $$$$$$ | 
6 ++           $$$$$$     ### 
    |          $$$$$$     ###### | 
    |        $$$$$$     ######  | 
    |       $$$$$$     ######    | 
5 ++     $$$$$     ######     *** 
    |    $$$$$$     ######     ****** | 
    |  $$$$$$     ######     ******  | 
    | $$$$$$     ######     ******    | 
4 $$$     #####     ******     ++ 
    |    ######     ******       | 
    |  ######     ******        | 
    | ######     ******          | 
3 ###     *****           ++ 
    |    ******             | 
    |  ******              | 
    + ****** +   +   +   +   +   + 
2 ***---------+----------+-----------+-----------+----------+----------++ 
    1   1.5   2   2.5   3   3.5   4 
0

columnheader (n)

Più dettagliato/flessibile rispetto set key autotitle columnheader:

plot 'my.dat' using 1:2 title columnheader(2), \ 
    '' using 1:3 title columnheader(3) 

provata su Gnuplot 4.6, Ubuntu 15.10.