Pagina 1 di 1

Grafici da shell

Inviato: sab 3 gen 2009, 19:14
da wakkokid
Salve,
Qualcuno conosce un programma (da linea di comando) per creare semplici grafici a partire da file di testo?

Ho uno script in cron che memorizza dei dati su un file di testo, un numero per riga; adesso come adesso importo il file di testo in OpenOffice Calc e creo il grafico, vorrei sapere se qualcuno di voi conosce un programma usabile da shell che, a partire dai dati incolonnati, crei un file immagine contenente il grafico.

Buona serata.

Re: Grafici da shell

Inviato: sab 3 gen 2009, 19:22
da JohnnyMnemonic
Al volo mi viene in mente gnuplot, confesso che non l'ho mai usato e non so effettivamente se fa al caso tuo... però hai visto mai!

Re: Grafici da shell

Inviato: sab 3 gen 2009, 19:39
da Mario Vanoni
JohnnyMnemonic ha scritto:Al volo mi viene in mente gnuplot, confesso che non l'ho mai usato e non so effettivamente se fa al caso tuo... però hai visto mai!
Funziona soltanto con xterm sotto X,
ed anche molto bene.

Re: Grafici da shell

Inviato: sab 3 gen 2009, 20:30
da albatros
Mario Vanoni ha scritto:Funziona soltanto con xterm sotto X,
ed anche molto bene.
Puoi anche impostare un'altro output, ad esempio postscript, png, ecc, volendo quindi puoi anche non usare X.
Con set terminal puoi vedere le varie possibilità (ti basta digitare set term e premere invio, perché gnuplot capisce lo stesso se il comando completo può essere uno solo, in questo caso set terminal).

Esempio:
dato il file prova.txt con le righe:
1 3
3 7
4 9
6 13

puoi dare:

Codice: Seleziona tutto

set term pos col
set out "prova.ps";
plot "prova.txt" with points, "prova.txt" w lines lc 2;
Questo è solo un esempio banalissimo, gnuplot può fare molto di più... (il grafico ovviamente lo puoi vedere con gv prova.ps).

Re: Grafici da shell

Inviato: sab 3 gen 2009, 20:57
da lamarozzo
Quoto la scelta di Gnuplot. Impara ad usarlo e potrai disinstallare Calc senza rimpianti!!! :D

Re: Grafici da shell

Inviato: sab 3 gen 2009, 21:44
da wakkokid
Grazie a tutti!
Gnuplot è perfetto per quello che dovevo fare, un grafico della temperatura (probabilmente esistono già programmi appositi ma volevo giocare un po con la bash :D )
il risultato , a chi interessasse, è questo:

/script_temp/temp.sh

Codice: Seleziona tutto

/bin/cat /proc/acpi/thermal_zone/THM0/temperature | /usr/bin/tail -c 5 | /usr/bin/head -c 2 >> /script_temp/storico.dat
/bin/echo "" >> /script_temp/storico.dat
/bin/cat /script_temp/storico.dat | /usr/bin/tail -n 120 > /script_temp/ultimi_120.dat
/usr/bin/gnuplot > load "/script_temp/temp_plot.d"
mv temperature.gif IN_UN_PERCORSO_ACCESSIBILE_DAL_WEB_SERVER
/script_temp/temp_plot.d

Codice: Seleziona tutto

set terminal gif
set output '/script_temp/temperature.gif'
plot "/script_temp/ultimi_120.dat" with step
a questo punto basta inserire temp.sh in crontab ogni intervallo voluto (per me, 1 minuto)

Re: Grafici da shell

Inviato: dom 4 gen 2009, 11:28
da Blizzard
wow! questa si che è interessante.
Quando torno a casa devo provarlo.

Magari si potrebbe partire da qui per un framework di grafici statistici ad interfaccia web ma anche via framebuffer con un piccolo scriptino che richiama fbida con l'immagine da mostrare ;)

Gio

Re: Grafici da shell

Inviato: dom 4 gen 2009, 14:43
da wakkokid
Per il momento lo uso per monitorare la temperatura di un piccolo server a casa mia, è un portatile con processore P4 2,8 GHz NON mobile, è importante tenerla d'occhio :-)

Adesso sono impegnato con lo studio, ma pensavo di aggiungere dei grafici con la velocità di up e down e altri parametri di rete.
Il problema è che per la temperatura è sufficiente un campionamento a 0,016667 Hz (cioè 1 dato al minuto 8) ), per la velocità di upload è troppo scarso (servirebbe almeno 1Hz), e cron mi sembra non permetta di scendere sotto al minuto, di conseguenza è necessario ricorrere ad un programma che giri continuamente; il quale credo che esista già (non ne conosco, ma mi sembra impossibile che nessuno ci abbia pensato).