[Tech] [OT] gnuplot e lettura riga precedente a quella corrente

Franco Bagnoli franco.bagnoli@unifi.it
Gio 16 Nov 2006 15:27:47 CET


---------- Forwarded message ----------
From: Franco Bagnoli <franco.bagnoli@gmail.com>
Date: 16-nov-2006 15.26
Subject: Re: [Tech] [OT] gnuplot e lettura riga precedente a quella corrente
To: Discussioni tecniche <tech@firenze.linux.it>


2006/11/16, Marco Calviani <marco.calviani@gmail.com>:
> Salve ragazzi,
>    sto utilizzando gnuplot per plottare velocemente dei dati.  Ho,
> all'interno di un file ASCII di testo, delle colonne di dati, e
> pertanto utilizzo l'opzione using 1:2 (ad esempio) per plottare la
> colonna 2 in funzione delle prima. Tuttavia ho la necessita' di dover
> plottare non soltanto 2 ma 2/(1-(dato della riga precendente nella
> colonna 1)); poiche' gnuplot utilizza la routine di C scanf per
> leggere riga per riga non so come costringerlo a leggere la riga
> precedente a quella corrente.
> Sulla mailing list di gnuplot mi hanno consigliato di utilizzare awk o
> perl per realizzare questo giochetto all'interno di gnuplot, ma non
> conoscendo nessuno di questi due linguaggi ho pensato di rivolgermi a
> voi.... ;-)

puoi usare qualsiasi cosa, da excel a awk ma non gnuplot da solo.

Io ti consiglio di impararti il perl, che fa tutto e che puoi usare
anche da dentro gnuplot
(almeno su linux)

per il tuo caso deve essere qualcosa del tipo

plot "< perl -ane 'print $F[0], \" \", $F[1]/(1-$a),\"\n\" if
$a;$a=$F[0]' dati.txt"

(ovviamente, facendolo girare da gnuplot c'è da fare escape delle virgolette)
--
Franco Bagnoli <franco.bagnoli@unifi.it> <franco.bagnoli@gmail.com>
Dipartimento di Energetica & Centro Dinamiche Complesse
Universita' di Firenze, via S. Marta, 3 I-50139 Firenze, Italy.
Tel. +39 0554796422, fax: +39 055471787


-- 
Franco Bagnoli <franco.bagnoli@unifi.it> <franco.bagnoli@gmail.com>
Dipartimento di Energetica & Centro Dinamiche Complesse
Universita' di Firenze, via S. Marta, 3 I-50139 Firenze, Italy.
Tel. +39 0554796422, fax: +39 055471787



Maggiori informazioni sulla lista flug-tech