sub plotPreamble { my($OUT, $title, $xlabel, $xrange, $ylabel, $yrange) = @_; # if (defined($ENV{'DISPLAY'})) { # writeln('set terminal x11'); # } else { # writeln('set terminal postscript'); # writeln('set output "', $file, '.ps"'); # } print $OUT <= $[); } %linkFails = %linkRecov = (); sub plotFails { my($OUT, $minY, $maxY, $tag, @vals) = @_; if ($#vals >= $[) { foreach $i (@vals) { push(@{$linkFails{$tag}}, "move $i $minY\n", "draw $i $maxY\n"); } } } sub plotRecov { my($OUT, $minY, $maxY, $tag, @vals) = @_; if ($#vals >= $[) { foreach $i (@vals) { push(@{$linkRecov{$tag}}, "move $i $minY\n", "draw $i $maxY\n"); } } } sub plotPostamble { my($OUT) = shift @_; print $OUT "Nolines: true\n"; foreach $i (keys %linkFails) { plot($OUT, 0, 'link ' . $i . ' fail', '', @{$linkFails{$i}}); } foreach $i (keys %linkRecov) { plot($OUT, 0, 'link ' . $i . ' recovery', '', @{$linkRecov{$i}}); } close(OUT); } 1;