Gnuplot – intro


Gnuplot pare sia proprio quello che serve per visualizzare uno o più grafici riassuntivi per le elaborazioni fatte con programmi seriosi come quelli in Fortran di cui ho trattato ultimamente.

Gnuplot is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms.

Uh! c’è ancora VMS! roba dell’altro millennio, come pure OS/2. Va beh, c’è per Linux e Windows. Ho installato la versione disponibile nel Softare Center di Ubuntu, la 4.4.3 vecchia di più di un anno, oggi c’è la 4.6. Prossimamente, forse…

Intano oggi voglio solo far vedere alcuni esempi, tanto per farci conoscenza. Poi c’è un corposo manuale 235 pagine in PDF, relativo alla versione 4.5 (grrr!!!).

Subito una cosa relativa al manuale: fatto bene con tantissimi link e esempi. Devo ancora leggerlo, l’ho solo scorso, l’unica pecca, secondo me, è che sul kindle è al limite della leggibilità. Peccato. Ma tanto conto di provare tutti gli esempi che mi interessano, nei prossimi post, avvertiti 😉

L’aspetto accattivante è che gli script risultano brevi, semplici (almeno così sembra di primo acchito) ma potenti. E si può fare quasi tutto quello che serve. Per adesso non ho visto se è possibile avere le scale logaritmiche, a volte sono comode.
I grafici possono essere visualizzati a monitor o salvati negli usuali formati, insomma sembra proprio Ok, vale la pena di affrontare il mallopposo manuale.

Inoltre sul Web si trovano parecchi esempi, quelli che seguono li ho raccattati, non ricordo bene dove.

f(x) = exp(-x**2 / 2)
plot [t=-4:4] f(t) title "Bell Curve", t**2 / 16 title "Parabola"

pi=3.1415926
f(x,n)=(n>=0) ? sin((2*n+1)*x)/(2*n+1)+f(x,n-1) : 0
plot[-pi:pi] for [n=0:6] f(x,n)

set contour
set view 60,45
set isosample 20,20
f(x,y,t)=exp(-x*x-y*y)
splot[-5:5][-5:5] f(x,y,1)

# set terminal pngcairo  transparent enhanced font "arial,10" fontscale 1.0 size 500, 350
# set output 'simple.1.png'
set key inside left top vertical Right noreverse enhanced autotitles box linetype -1 linewidth 1.000
set samples 50, 50
plot [-10:10] sin(x),atan(x),cos(atan(x))

I grafici precedenti sono quelli visualizzati nel terminale di default. Naturalmente è possibile cambiarlo, come così:

set terminal png
set output 't.png'
set contour
set view 60,45
set isosample 20,20
f(x,y,t)=exp(-x*x-y*y)
splot[-5:5][-5:5] f(x,y,1)

OK, mi metto a studiare il manuale. Non ci sono per nessuno 😀 😉

Posta un commento o usa questo indirizzo per il trackback.

Commenti

  • giulia68  Il 23 agosto 2012 alle 12:43

    Interessante e utile!! Grazie mille, Juhan, sei davvero un mago!! 🙂

    • juhan  Il 23 agosto 2012 alle 12:45

      vedrai il prossimo… 😉

  • giulia68  Il 23 agosto 2012 alle 12:54

    Wow! Grazieee!! 🙂

  • Massimo Ortolano  Il 23 agosto 2012 alle 13:34

    Gnuplot l’ho usato per un po’ di anni, ma adesso sono passato ad Asymptote: http://asymptote.sourceforge.net/ 😉

    • juhan  Il 23 agosto 2012 alle 13:37

      Grazie, poi lo vedo. Ma non si finisce mai 😉

  • glipari  Il 23 agosto 2012 alle 14:00

    Ti segnalo questo, magari l’avevi già visto, ma non si sa mai: http://www.gnuplotting.org/

    (c’è voluto un po’ ma sono di nuovo on-line!)

    • juhan  Il 23 agosto 2012 alle 14:07

      Bello, per la 4.6. Da RSSare. Io sono ancora indietro.
      C’è da dire una cosa, però: spesso quello che serve non sono animazioni e cose sbaluccicanti. Anzi i grafici devono essere in b/n per stamparli normalmente e visualizzarli sul mio kindle.

Trackback

  • Gnuplot – primi passi « Ok, panico su 28 agosto 2012 alle 15:45

    […] continua da qui e ci sto prendendo la mano, pian-pianino. Intanto è fondamentale il sito Gnuplotting, segnalato […]

  • Asymptote, bello ma no « Ok, panico su 3 ottobre 2012 alle 09:59

    […] Nei giorni scorsi ho installato Asymptote, la versione presente nel Software Center di Ubuntu, leggermente più vecchia della corrente. Me l’aveva consigliato l’amico Massimo, qui. […]

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.