[Guida] Un’introduzione alla realizzazione di grafici con Gnuplot
Ultimo aggiornamento:23 Gennaio 2021
Questo articolo vuole essere un’introduzione a Gnuplot, uno dei più noti programmi di plottaggio interattivo.
Se lo si padroneggia, questo software multipiattaforma ha enormi potenzialità, e numerose possibilità di configurazione.
Gnuplot: disegnare grafici su GNU/Linux
Realizzare grafici da una serie di dati è un’operazione molto comune, effettuata quotidianamente in diversi ambienti lavorativi. In statistica, fisica, economia, medicina, informatica, avere una sintesi grafica può risultare spesso un aiuto decisivo nei processi di analisi e decisione. Spesso, tuttavia, ci si avvale di pesanti software dotati di GUI come Libreoffice Calc o Microsoft Excel che, per quanto possano essere immediati, non danno le possibilità di interazione ed automatizzazione della nostra cara shell. In tutte quelle occasioni in cui non si è confinati in un ambiente specifico, come STATA o SAP ad esempio, potrebbe risultare utile imparare ad usare Gnuplot.
Gnuplot è stato originariamente creato nel 1986, per consentire a scienziati e studenti di visualizzare funzioni e dati matematici in modo interattivo. Da allora è cresciuto moltissimo, fino a supportare molti usi non interattivi come lo scripting Web. Installare il tool sul pinguino è semplicissimo, essendo incluso in tutti i principali repository. Su Ubuntu, Mint e derivate, ad esempio, basterà che utilizziate la direttiva:
sudo apt install gnuplot
Le basi
Per realizzare un semplice grafico con cui mostrarvi le basi di Gnuplot, ovviamente, serve un database. Io, ad esempio, ho creato tramite il seguente comando un piccolo database che mostra la velocità di upload della mia rete domestica, misurata con speedtest ad intervalli regolari, per qualche minuto:
while true; do speedtest > tmp.txt; cat tmp.txt | grep -A1 "Upload" | sed 's/^.*: //' >> data.txt; rm ./tmp.txt; sleep 60; done
Potete avviare questo script da terminale e, dopo qualche minuto, inviare un segnale di interruzione con CTRL + c. Otterrete un file data.txt come il seguente:
93.25 Mbit/s 89.25 Mbit/s 94.12 Mbit/s ...
Un primo grafico, come quello del precedente screenshot, può essere ottenuto in Gnuplot tramite questa direttiva:
gnuplot -p -e "plot 'data.txt'
in cui ho utilizzato le seguenti opzioni:
- -p o –persist, per mantenere il grafico aperto dopo l’esecuzione del comando;
- -e indica i comandi successivi da passare al tool, compresi tra le virgolette.
Il grafico così realizzato è ancora molto grezzo. Manca, ad esempio, un titolo, che va aggiunto ampliando il comando precedente:
gnuplot -p -e "set title 'Velocità Upload'; plot 'data.txt'"
Va da se che, continuando ad utilizzare questa sintassi, si rischia di ottenere una direttiva davvero lunga e difficile da decifrare. Conviene utilizzare, quindi, un file in formato .gnuplot, contenente tutte le istruzioni che volete inviare al tool.
Continuando con il precedente esempio, quindi, ho creato un file data.gnuplot, da utilizzare poi con l’istruzione gnuplot data.gnuplot. Il contenuto del file è il seguente:
set term png set output "data.png" #esporta il grafico come immagine png set title 'Variazione Velocità Upload' set xlabel "Tempo" #etichetta asse x set ylabel "Velocità (Mbit/s)" #etichetta asse y plot 'data.txt' title 'Velcoità Upload' with line #with line disegna il grafico a linea
Come vi ho già anticipato nell’introduzione, questo articolo è solo un’introduzione a Gnuplot, per quanti di voi si stanno avvicinando per la prima volta a questo mondo e vogliono impararne le potenzialità. Dove procedere da qui, ovviamente, dipenderà moltissimo dalla vostra area di specializzazione. Un importante riferimento, indubbiamente, è la documentazione ufficiale.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.
Fonte: https://www.lffl.org/2021/01/guida-unintroduzione-gnuplot.html
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.