Associate Professor
Technical University of Denmark
Gnuplot è un utile strumento per la generazione di grafici. La sua potenza e versatilità lo rendono molto usato in ambito scientifico ed accademico.
Una delle peculiarità di Gnuplot consiste nella capacità di generare grafici in formato SVG, particolarmente indicati per la rappresentazione di immagini vettoriali. Lo strumento Inkscape, ad esempio, consente di trasformare immagini SVG in PDF (tramite il comando inkscape -A destinazione.pdf sorgente.svg), le quali possono essere facilmente inserite in documenti LaTeX.
Si supponga di voler rappresentare le funzioni $\sin(x)$ e $\cos(x)$. Ecco lo script Gnuplot:
set terminal svg set out "test.svg" set nokey set xrange [0:10] set yrange [-1:1] plot sin(x) plot cos(x)
Si supponga di salvare questo script nel file test.gnuplot
e di eseguirlo tramite il comando gnuplot test.gnuplot. Le prime due righe del file indicano a Gnuplot che si vuole generare l'output in formato SVG e l'output deve essere salvato nel file test.svg
. La terza istruzione, segnala al programma che, in questo particolare caso, non si è interessati alla legenda (nokey
). Le restanti direttive indicano il range di valori da disegnare e le due funzioni. Il risultato di questo script è il seguente:
Come si nota, l'aspetto grafico non è particolarmente accattivante. Si può procedere, per migliorare la leggibilità, inserendo una griglia (set grid
) e caratterizzando le due funzioni con stili diversi (plot sin(x) linestyle 1
e plot cos(x) linestyle 2
). Il nuovo risultato sarà:
I colori di base di Gnuplot sono colori primari, che potrebbero non piacere particolarmente. Questi possono essere cambiati tramite linecolor rgb "#FFFFFF"
. Inoltre, aggiungendo alcune opzioni alla direttiva che imposta il terminale è possibile sostituire il font (sia il nome che la dimensione) del grafico ed indicare che si desidera linee tratteggiate. Il terminale, così adattato, diventa: set terminal svg fname "Ubuntu" fsize 13 dashed
(attenzione: in questo esempio, io uso il font Ubuntu; se questo non è presente nella macchina, non potrà essere visualizzato). Grazie al parametro dashed
stili diversi saranno identificati da tratteggi diversi, quindi si potrà personalizzare sia il tipo di tratteggio che il colore delle linee. Etichette per gli assi possono essere inserite tramite set xlabel "Valori asse x"
e set ylabel "Valori asse y"
.
Applicando tutte le modifiche, lo script finale diventa:
set terminal svg fname "Ubuntu" fsize 13 dashed set out "test.svg" set nokey set grid linestyle 3 linecolor rgb "#666666" set border 3 linewidth 1 linecolor rgb "#333333" set xlabel "Valori asse x" set ylabel "Valori asse y" set xrange [0:10] set yrange [-1:1] plot sin(x) linestyle 1 linewidth 2 linecolor rgb "#6d78ab" plot cos(x) linestyle 2 linewidth 2 linecolor rgb "#bd2129"
Che, una volta eseguito, genera il seguente grafico:
Infine, per poter migliorare la riusabilità degli script, si ricorda la possibilità di definire stili, tramite set style
e le varie scorciatoie (ad esempio, lc
per linecolor
, lw
per linewidth
e ls
per linestyle
).
Latest website update: 28 April 2025.