# 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'};
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 (/^#[^#] */) {
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"
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",\\
"${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;
}