]> rtime.felk.cvut.cz Git - frescor/fwp.git/blobdiff - wme_test/plot
Merge branch 'master' of molnam1@rtime.felk.cvut.cz:/var/git/frescor
[frescor/fwp.git] / wme_test / plot
index 69ef9aad120cf9fb2beceef9d724f4ec3e82826e..66dfdd33a197eb98795f2a57d00205ce21e321b9 100755 (executable)
@@ -9,9 +9,11 @@ $MULTIPDF_FILENAME="all.pdf";
 
 # Process command line options
 my %opt;
-getopts('bd:enso:pP', \%opt);
-
+getopts('bd:emnso:pPt:', \%opt);
+$PLOT_SINGLE_EXPERIMENT = $opt{'m'} ? 0 : 1;
+$EXPERIMENT_TITLES = $opt{'t'};
 $PLOT_BOTH_DIRECTIONS=1 if $opt{'b'};
+$
 $DELAY_BOUND="[0:".$opt{'d'}."]" if $opt{'d'};
 $SET_TERM_TEMPLATE='set term postscript color eps enhanced; set output "${FILE}.eps"' if $opt{'e'};
 $SET_TERM_TEMPLATE='set term png enhanced; set output "${FILE}.png"' if $opt{'n'};
@@ -41,7 +43,7 @@ foreach $dat_file (@ARGV) {
     while (<F>) {
        if (/wclient.*/) {
            $_=$&;
-           s/ -o [^ ]*//;
+           s/ -o [^ ]*//g;
            $COMMAND="Results of: $_";
            #$COMMAND="Results of: grep -o 'wclient.*'|sed -e 's/ -o [^ ]*//' -e 's/ [^ ]* ?$//')"
        } elsif (/^#[^#] */) {
@@ -77,6 +79,9 @@ set size 1,0.8
 unset label
 set label "${COMMAND}" noenhanced at graph 0,1.3
 set label "${STREAMS}" noenhanced at graph 0,1.2 font "Helvetica,9"
+/;
+    if ($PLOT_SINGLE_EXPERIMENT) {
+       print CMD qq/
 set style line 1  lt 1 lc rgb "red"
 set style line 2  lt 1 lc rgb "green"
 set style line 3  lt 1 lc rgb "blue"
@@ -90,15 +95,14 @@ set style line 10 lt 3 lc rgb "green" lw 2
 set style line 11 lt 3 lc rgb "blue" lw 2
 set style line 12 lt 3 lc rgb "magenta" lw 2
 /;
+       print CMD qq/plot $DELAY_BOUND [0.01:100]\\
+     "${FILE}.dat" index 0 using 1:2 with linespoints ls 1 title "AC\\\\_VO",\\
+     "${FILE}.dat" index 1 using 1:2 with linespoints ls 2 title "AC\\\\_VI",\\
+     "${FILE}.dat" index 2 using 1:2 with linespoints ls 3 title "AC\\\\_BE",\\
+     "${FILE}.dat" index 3 using 1:2 with linespoints ls 4 title "AC\\\\_BK"/;
 
-    print CMD qq/plot $DELAY_BOUND [0.01:100]\\
-     "${FILE}.dat" index 0 with linespoints ls 1 title "AC\\\\_VO",\\
-     "${FILE}.dat" index 1 with linespoints ls 2 title "AC\\\\_VI",\\
-     "${FILE}.dat" index 2 with linespoints ls 3 title "AC\\\\_BE",\\
-     "${FILE}.dat" index 3 with linespoints ls 4 title "AC\\\\_BK"/;
-
-    if ($PLOT_BOTH_DIRECTIONS) {
-       print CMD qq/,\\
+       if ($PLOT_BOTH_DIRECTIONS) {
+           print CMD qq/,\\
      "${FILE}.dat" index 0 using 1:3 with lines ls 5  title "AC\\\\_VO cs",\\
      "${FILE}.dat" index 1 using 1:3 with lines ls 6  title "AC\\\\_VI cs",\\
      "${FILE}.dat" index 2 using 1:3 with lines ls 7  title "AC\\\\_BE cs",\\
@@ -108,9 +112,52 @@ set style line 12 lt 3 lc rgb "magenta" lw 2
      "${FILE}.dat" index 2 using 1:4 with lines ls 11 title "AC\\\\_BE sc",\\
      "${FILE}.dat" index 3 using 1:4 with lines ls 12 title "AC\\\\_BK sc"
 /;
+       } else {
+           print CMD "\n";
+       }
     } else {
+       # Multiple experiments in a single plot
+       print CMD qq/
+set style line 1  lt 1 lc rgb "red" lw 2
+set style line 2  lt 1 lc rgb "green" lw 2
+set style line 3  lt 1 lc rgb "blue" lw 2
+set style line 4  lt 1 lc rgb "magenta" lw 2
+set style line 5  lt 2 lc rgb "red" lw 2
+set style line 6  lt 2 lc rgb "green" lw 2
+set style line 7  lt 2 lc rgb "blue" lw 2
+set style line 8  lt 2 lc rgb "magenta" lw 2
+set style line 9  lt 3 lc rgb "red" lw 2
+set style line 10 lt 3 lc rgb "green" lw 2
+set style line 11 lt 3 lc rgb "blue" lw 2
+set style line 12 lt 3 lc rgb "magenta" lw 2
+/;
+       my ($ls1, $ls2, $ls3, $ls4) = (1,2,3,4);
+       my @titles = split(/;/, $EXPERIMENT_TITLES);
+       my $experiment = 0;
+       my $t=$titles[$experiment];
+       $t = '' unless $t;
+       print CMD qq/plot $DELAY_BOUND [0.01:100]\\
+     "${FILE}.dat" index 0 with lines ls $ls1 title "AC\\\\_VO $t",\\
+     "${FILE}.dat" index 1 with lines ls $ls2 title "AC\\\\_VI $t",\\
+     "${FILE}.dat" index 2 with lines ls $ls3 title "AC\\\\_BE $t",\\
+     "${FILE}.dat" index 3 with lines ls $ls4 title "AC\\\\_BK $t"/;
+       foreach $dat_file (@ARGV[1,2]) {
+           last if (!defined $dat_file);
+           $experiment++;
+           $t=$titles[$experiment];
+           $t = '' unless $t;
+           ($FILE, , ) = fileparse($dat_file, (".dat"));
+           ($ls1, $ls2, $ls3, $ls4) = map($_+4, ($ls1, $ls2, $ls3, $ls4));
+           print CMD qq/,\\
+     "${FILE}.dat" index 0 with lines ls $ls1 title "AC\\\\_VO $t",\\
+     "${FILE}.dat" index 1 with lines ls $ls2 title "AC\\\\_VI $t",\\
+     "${FILE}.dat" index 2 with lines ls $ls3 title "AC\\\\_BE $t",\\
+     "${FILE}.dat" index 3 with lines ls $ls4 title "AC\\\\_BK $t"/;
+       }
        print CMD "\n";
+       last;
     }
+
     close CMD;
 }