2013-04-18 6 views
10

La mia domanda è molto semplice. Supponiamo che io ho un file di dati con le intestazioni delle colonne, come le seguentiCome si imposta l'etichetta dell'asse con l'intestazione della colonna in gnuplot?

first second 
1 1 
2 1 
3 6 
4 9 

In gnuplot come faccio a fare in modo che il file di dati viene tracciato utilizzando l'intestazione di colonna come etichetta dell'asse? per esempio. chiamando

plot datafile using 1:2 

Ho l'asse X etichettati first ei asseY etichettato second?

modifica: so che posso utilizzare l'intestazione di colonna come voce chiave tramite set key auto title column head, tuttavia non è proprio quello che sto cercando.

risposta

1

Non credo che questa funzione sia incorporata in gnuplot; probabilmente dovresti usare un'utilità awk per estrarre le etichette da un file di dati.

È possibile provare a inviare una richiesta di funzionalità sul sito sourceforge di gnuplot e ricevere feedback dagli sviluppatori.

+1

'awk' +' head -1' dovrebbe farlo. – mgilson

-1

Penso che sia supportato. Si sono appena dovresti essere in grado di utilizzare "":

trama 'file' utilizzando "prima": "secondo"

Anche se, se si vuole fare la matematica nella vostra specifica utilizzando, è 'll bisogno della colonna ("") la funzione, anche

trama 'file' utilizzo di "prima" :(colonna ("secondo") - (colonna ("thrid"))

(Utilizzando solo i nomi delle intestazioni citati wi . ° la matematica non ha funzionato per me, comunque)

+1

Con il metodo è possibile selezionare le colonne in base alle stringhe di intestazione, anziché utilizzare 1 e 2, ma queste intestazioni non vengono utilizzate come etichette degli assi. – Christoph

6

Elaborare il suggerimento di @andyras, ecco come si può fare:

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

È necessario tracciare con l'esplicita dichiarazione using, altrimenti gnuplot si lamenterà di bad data on line 1.

Problemi correlati