Primi passi con GNUPlot – Lezione 3

Benvenuti nella terza lezione del nostro corso introduttivo a GNUPlot. L’ultima volta avevamo visto come modificare la sensiblità di un asse, come salvare i grafici su di un file e infine come leggere i dati da un file.

In questa lezione invece vedremo

  • come utilizzare diversi formati di rappresentazione dato (linee, punti, etc)
  • come modificare i dati in fase di analisi

Quindi partiamo proprio dalla rappresentazione dei dati del grafico. Come molti di noi sanno in un grafico possiamo avere diverse rappresentazioni, questo varia molto dalla natura del grafico, e se stiamo in ambito matematico anche dalla formula o semplicemente da cosa ci interessa vedere. Anche in questo caso, gnuplot ci viene incontro con una discreta quantità di formati.

La sintassi che va usata per modificare il formato di visualizzazione del grafico è la seguente:

plot function with lineformat

in questo modo diciamo a gnuplot di usare la linea specificata da lineformat per la fnuzione function, se per esempio vogliamo i nostri dati presi dal file di input testat (vedi lezione 2) e rappresentarli con dei punti:

plot "testat" with points
Grafico con punti
Ecco il grafico usando l'opzione points

mentre lo stesso grafico con le linee veniva:

Grafico con linee
Il grarfico dei dati di testat fatto con le linee

e lo ottenevamo dando il comando:

plot "testat" with lines

Quindi piu in generale per modificare il formato delle linee di un grafico la stinassi del comando è:

plot funzione/dati with formato

I formati disponibli sono moltissimi, tra cui:

  • lines per la visualizzazione di linee
  • points per la visualizzazione di punti
  • dots sempre per visualizzre punti ma piu piccoli
  • linespoints per visualizzare punti e linee insieme
  • impulses, per visualizzare line verticali da ogni punto all’asse X.
  • steps, fsteps e histeps, visualizzano un istogramma
  • yerrorbars, xerrorbars, xyerrorbars, vector, boxes, etc. sono altre possiblita di visualizzazione per errori, vettori etc. In caso le spiegheremo in lezioni piu avanzate.

Passiamo ora alla gestione di grafici con date. Prendiamo per esempio un file con i seguenti dati:

2010-03-30 0 0
2010-03-31 4 9
2010-04-01 2 2
2010-04-02 2 2
2010-04-03 2 2
2010-04-04 4 9
2010-04-05 3 3
2010-04-06 2 2
2010-04-07 2 2
2010-04-08 2 3
2010-04-09 3 3
2010-04-10 3 3
2010-04-11 1 1
2010-04-12 3 4
2010-04-13 2 2
2010-04-14 1 1
2010-04-15 2 2
2010-04-16 3 3

Salviamo questi dati su di un file e diamogli un nome, per esempio datatest ora apriamo il nostro bellissimo gnuplot, vogliamo un grafico per esempio la colonna 1 e 3. Come vediamo la colonna 1 ha il formato data. Dobbiamo spiegare a gnuplot il formato della data che deve considerare. Quindi prima di fare il grafico dobbiamo dare i seguenti comandi:

set xdata time

Cosi diciamo a gnuplot che i dati dell’asse X sono nel formato time dopo di che specifichiamo il formato effettivo della data (come sappiamo la data e’ rappresentabile in n modi 🙂 ), nel nostro esempio il formato è: Anno-mese-giorno:

set timefmt "%Y-%m-%d"

Con questo comando abbiamo formattato la data secondo il formato nel nostro file e quindi:

  • %Y sta per anno
  • %m sta per mese
  • %d sta per giorno

dopo di che possiamo dare il comando:

plot "datatest" using 1:3 with lines

ho aggiunto il parametro lines solo perhce veniva piu carino e visibile il grafico :D. E poi lo abbiamo appena imparato no? :). Il risultato che otteniamo sarà il seguente:

Screenshot-Gnuplot Date
Vediamo le date usate in gnuplot

La tabella di seguito spiega alcuni formati di date e come rappresentarli per gnuplot:

Data timefmt Spiegazione
2010/06/07 %Y/%m/%d Un altro esempio di data
December/96 %B/%y Mese in lettere (%B), anno a 2 cifre (%y)
2004/Jan %Y/%b %b serve per il mese abbreviato in 3 lettere
1970/240 %Y/%j In questo caso 240 e’ il numero del giorno nell’anno, e lo  rappresentiamo con %j
02:45:03 %H:%M:%S “%H” ora nel formato 24h e il resto mi sembra intutitivo
1076909172 %s unix time

Bene, con questo mi fermo qui per questa lezione, nella prossima lezione spieghero altre piccole features di gnuplot in fase di creazione di grafici, e come modificare magari i dati in fase di crezione del grafico.

Ciao!!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.