Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.graphics.apps.gnuplot > #2140 > unrolled thread

Counting multiple data lines

Started byBret Foreman <bret.foreman@gmail.com>
First post2013-10-11 14:44 -0700
Last post2013-10-13 02:14 +0700
Articles 2 — 2 participants

Back to article view | Back to comp.graphics.apps.gnuplot


Contents

  Counting multiple data lines Bret Foreman <bret.foreman@gmail.com> - 2013-10-11 14:44 -0700
    Re: Counting multiple data lines Michael <proximum@land.ru> - 2013-10-13 02:14 +0700

#2140 — Counting multiple data lines

FromBret Foreman <bret.foreman@gmail.com>
Date2013-10-11 14:44 -0700
SubjectCounting multiple data lines
Message-ID<ea268ea1-4f5d-4f2d-bbd5-e604c33c1de9@googlegroups.com>
I'm testing a communication channel where I vary 2 parameters, call them X and Y. I include the values of X and Y in the message and I send N messages for each pair of X and Y. Each message either passes through the channel or does not - there are no partial messages. At a given pair of values for X and Y I get N or fewer (or no) successful messages.

My output file consists of rows of successfully received messages with the message data consisting of the values for X and Y. I'd like to create a 3D plot that shows the number of successful messages for each value of X and Y.

For example, I might have this:

2,3
2,3
2,3
3,3
3,3
3,3
3,3

In this case I want to plot two points, one at (2,3,3) and one at (3,3,4) where the z value is a count of the number of identical lines.

I don't have to worry about non-contiguous sets of identical lines because my source data never does that.

Can anyone suggest a good way to implement this in gnuplot?

Thanks,
Bret

[toc] | [next] | [standalone]


#2142

FromMichael <proximum@land.ru>
Date2013-10-13 02:14 +0700
Message-ID<l3c71s$19m$1@dont-email.me>
In reply to#2140
12.10.2013 04:44, Bret Foreman пишет:
> I'm testing a communication channel where I vary 2 parameters, call them X and Y. I include the values of X and Y in the message and I send N messages for each pair of X and Y. Each message either passes through the channel or does not - there are no partial messages. At a given pair of values for X and Y I get N or fewer (or no) successful messages.
>
> My output file consists of rows of successfully received messages with the message data consisting of the values for X and Y. I'd like to create a 3D plot that shows the number of successful messages for each value of X and Y.
>
> For example, I might have this:
>
> 2,3
> 2,3
> 2,3
> 3,3
> 3,3
> 3,3
> 3,3
>
> In this case I want to plot two points, one at (2,3,3) and one at (3,3,4) where the z value is a count of the number of identical lines.
>
> I don't have to worry about non-contiguous sets of identical lines because my source data never does that.
>
> Can anyone suggest a good way to implement this in gnuplot?
>
> Thanks,
> Bret
>

Here is a little perl script for you (but you can also write it on the 
language you prefer).
If your system is not Linux, your problem will be a bit more complex.

#!/usr/bin/perl -w
use strict;
my @unique=`uniq <arr.dat`;
my $a;
open OUTFILE, ">res.dat";
for my $u (@unique)
{
         chomp $u;
         $a = "$u," . `grep "$u" arr.dat |wc -l`;
         print OUTFILE $a;
}
close OUTFILE;

[toc] | [prev] | [standalone]


Back to top | Article view | comp.graphics.apps.gnuplot


csiph-web