| Jeff Abrahamson on 5 May 2004 13:44:02 -0000 |
|
On Tue, May 04, 2004 at 04:52:51PM -0400, Jason M. Lenthe wrote:
> [24 lines, 67 words, 564 characters] Top characters:_ til\nosu
>
>
> > If you got a solution to this, could you post it?
>
>
> awk makes quick work of this:
>
> $ cat datafile
> 10 10 200
> 10 15 300
> 5 20 100
> 5 40 50
> $ awk '$3>150' datafile > data1
> $ awk '$3<=150' datafile > data2
>
> Then in gnuplot just
> splot 'data1', 'data2'
Thanks.
My task was, in fact, infinitesimally harder than that, as my data was
in matrix form:
1 1 1 1 4 1 1 1 1
3 3 3 1 1 1 1 2 1
2 2 2 2 2 2 2 2 2
1 1 1 1 4 1 1 1 1
1 1 1 1 9 1 1 1 1
2 2 2 2 2 2 2 2 2
which in gnuplot I can display thus:
splot 'data-file' matrix
so I'd have to do something perl-ish more like this:
local $/ = undef;
my($i,$j) = (0, 0);
my @rows = <>; # slurp
for my $row (@rows) {
my @elts = split(/\s+/, $row);
$j = 0;
for my $z (@elts) {
$fh1->print("$i $j $z\n") if($z < z0);
$fh2->print("$i $j $z\n") if($z >= z0);
$j++;
}
$i++;
}
I haven't tested that, I probably forgot something. And, of course,
you'd have to open the two FileHandle's.
--
Jeff
Jeff Abrahamson <http://www.purple.com/jeff/>
GPG fingerprint: 1A1A BA95 D082 A558 A276 63C6 16BF 8C4C 0D1D AE4B
A cool book of games, highly worth checking out:
http://www.amazon.com/exec/obidos/ASIN/1931686963/purple-20
Attachment:
signature.asc
|
|