#! /bin/sh # doxyplot X Y [Y2] files plotcmds > image tmpend=$$ Cmds=/tmp/plot$tmpend Cmds1=/tmp/plot1$tmpend Log=/tmp/plotlog$tmpend setcoord() { # setcoord coord label name eval `./name2plot -v $1 $2 $3` } dosort="sort -g -k 1,1 -k 2,2" N=""; NDiv="" more=1; while [ $# -gt 0 -a $more -eq 1 ]; do case $1 in -r) dosort="sort -r -g -k 1,1 -k 2,2"; shift ;; -ns) dosort="cat -"; shift ;; -n) shift; setcoord N NLabel $1; NDiv="/\$$N"; shift ;; *) more=0 ;; esac done Xnm=$1; shift Ynm=$1; shift setcoord X XLabel $Xnm setcoord Y YLabel $Ynm awkargs="\$$Y$NDiv" grid="set grid mxtics mytics xtics ytics" logy="set logscale y" if [ ! -f $1 ]; then Y2nm=$1; setcoord Y2 Y2Label $Y2nm; shift; awkargs="\$$Y$NDiv, \$$Y2$NDiv" grid="set grid mxtics mytics my2tics xtics ytics y2tics" logy="set logscale y; set logscale y2" fi if [ -n "$N" ]; then YLabel="$YLabel / $NLabel" Y2Label="$Y2Label / $NLabel" fi cat - > $Cmds << EOF set terminal png color; set output set xlabel "$XLabel" set ylabel "$YLabel" EOF if [ $Xnm = "R%" ]; then echo "set xtics 10" >> $Cmds; fi if [ -n "$Y2" ]; then echo "set xtics; set ytics; set y2tics" >> $Cmds echo "set y2label \"$Y2Label\" " >> $Cmds fi #echo X=$X XLabel=$XLabel; echo Y=$Y YLabel=$YLabel #echo N=$N NLabel=$NLabel NDiv=$NDiv; echo awkargs=$awkargs files="" while [ $# -gt 0 -a -f $1"" ]; do files="$files $1"; shift done while [ $# -gt 0 ]; do cmd="$1" #echo "$cmd" > /dev/tty case "$cmd" in right) cmd="set key right" ;; left) cmd="set key left" ;; logx) cmd="set logscale x; $grid" ;; logy) cmd="$logy; $grid" ;; logxy) cmd="set logscale x; $logy; $grid" ;; grid) cmd="$grid" ;; points) cmd="set data style points" ;; lines) cmd="set data style linespoints" ;; y0) cmd="set yrange [0:]" ;; y20) cmd="set y2range [0:]" ;; *) cmd="set $cmd" ;; esac shift; echo "$cmd" >> $Cmds done echo "plot \\" >> $Cmds for f in $files; do name=`echo $f | sed 's:.*/::g;s/.dat$//;s:family-::;s:class-::;s:size-::'` tmp=/tmp/$name$tmpend if [ $X -eq 0 ]; then x=0;y=1;y2=2 awk "{ print $awkargs }" <$f| $dosort > $tmp if [ $Xnm = "R%" ]; then sz=`wc -l < $tmp | sed 's: ::g'` x="(\$0*100/($sz-1))" fi else x=1;y=2;y2=3 awk "{ print \$$X, $awkargs }" <$f| $dosort > $tmp fi if [ "$Y2" = "" ]; then echo "\"$tmp\" u $x:$y t \"$name\",\\">>$Cmds else tag1=`./name2plot -t $Ynm` tag2=`./name2plot -t $Y2nm` echo "1-\"$tmp\" u $x:$y t \"$name $tag1\",\\">>$Cmds echo "2-\"$tmp\" u $x:$y2 axes x1y2 t \"$name $tag2\",\\">>$Cmds fi done if [ "$Y2" != "" ]; then mv $Cmds $Cmds1 sed '/^2-/d;s:^1-::' $Cmds1 > $Cmds sed -n '/^2-/s:2-::p' $Cmds1 >> $Cmds fi cat $Cmds > /tmp/dbg sed '$s:,.*$::' $Cmds | gnuplot - 2>$Log rm /tmp/*$$ exit ##################################### fsort(){ ls sum/family-*$1*dat | sed 's:-\([0-9][0-9]*\)-: \1 :' | \ sort -g +1 +2 | sed 's: :-:g' } famplot() { # X Y Class plotargs > pngfile x=$1; shift; y=$1; shift; class=$1; shift ./doxyplot $x $y `fsort $class` lines "$@" } ./doxyplot N CC sum/family-BagX*.dat grid lines | xv - & ./doxyplot N CP sum/family-BagX*.dat grid lines | xv - & famplot N CC Bag grid "yrange [0:1]" |xv -& famplot N 'CC CP' Bag grid |xv -& famplot N 'CC CP' 'BagX-[48]' grid |xv -& famplot R% 'CC CP' 'BagX-[48]' grid |xv -& famplot N 'CP CC' 'BagX-[48]' grid |xv -& famplot R% 'CP CC' 'BagX-[48]' grid |xv -& xv plots/class-C[CP]* plots/CP*& fams='Bag RdE+ RdE- RdN+ RdN- SmW+ SmW- TdL+ TdL- TdS+ TdS-' for f in $fams; do famplot N CC "$f" grid "yrange [0:1]" | xv -& done famplot N CP Bag grid |xv -& for f in $fams; do famplot N CP "$f" logxy | xv -& done ./doxyplot R% CC CP sum/size-*-2000.dat grid lines | xv - & ./doxyplot R% CC CP sum/size-Bag*2000.dat grid lines | xv - & ./doxyplot R% CP CC sum/size-Bag*2000.dat grid lines | xv - & ./doxyplot R% CC CP sum/size-Sm*2000.dat grid lines | xv - & ./doxyplot R% CP CC sum/size-Sm*2000.dat grid lines | xv - & ./doxyplot P CP CC sum/family-Sm*.dat grid lines | xv - & ./doxyplot R% CC CP sum/family-BagX*.dat grid lines | xv - & ./doxyplot CP CC sum/size-SmW-*2000.dat grid lines | xv - & ./doxyplot CP CC /tmp/SmW-.dat grid lines | xv - & ./doxyplot CP CC /tmp/SmW-2000-6 grid lines | xv - & grep "2000 4 " sum/size-TdL--2000.dat > /tmp/TdL-2000-4 ./doxyplot CP CC /tmp/TdL-2000-4 grid lines | xv - & grep "2000 4 " sum/size-TdS--2000.dat > /tmp/TdS-2000-4 ./doxyplot CP CC /tmp/TdS-2000-4 grid lines | xv - & grep "2000 4 " sum/size-RdN+-2000.dat > /tmp/RdN+2000-4 ./doxyplot CP CC /tmp/RdN+2000-4 grid lines | xv - & ./doxyplot E CP CC sum/size-SmW+*2000.dat grid lines | xv - & ./doxyplot E CP CC /tmp/SmW+.dat grid lines | xv - & ./doxyplot E CP CC /tmp/SmW+2000-6 grid lines | xv - & ./doxyplot E CP CC sum/size-RdN+*2000.dat grid lines | xv - & ./doxyplot E CP CC sum/size-RdN-*2000.dat grid lines | xv - & ./doxyplot E CP CC sum/size-RdE+*2000.dat logy lines | xv - & ./doxyplot E CP CC sum/size-RdE-*2000.dat grid lines | xv - & Ax(){ echo "\$`./name2plot -c $1`" } awk "{print `Ax D`, `Ax CP`, `Ax CC`, `Ax Nm`}"/tmp/DCPCC2000 ./doxyplot R% CC sum/class-TdS-.dat grid lines | xv - & sum/family-TdS+X-4-3.0.dat famplot N CC 'TdS+' grid |xv -& famplot N CC 'SmW-' grid |xv -& famplot N CC 'RdE+' grid |xv -& famplot N CC 'Bag' grid |xv -& famplot N CC 'SmW+' grid |xv -& famplot N CC 'SmW+*0.0.' grid |xv -& famplot N CP 'SmW-' grid left |xv -& famplot N CP 'SmW-*0.3' grid left |xv -& famplot N CP 'SmW-*0.3' "xrange [:2000]" logx left |xv -& famplot N CP 'SmW-*0.3' "xrange [:2000]" "yrange [:8]" logx left |xv -& famplot N CP 'SmW-*-[4681][-0]*0.3' "xrange [:2000]" logx left |xv -& famplot N CP 'SmW+' grid left |xv -& famplot N CP 'SmW+*0.3' grid left |xv -& famplot N CP 'SmW+*0.3' "xrange [:2000]" logx left |xv -& ' famplot N CP 'SmW+*0.3' "xrange [:2000]" "yrange [:8]" logx left |xv -& famplot N CP 'SmW+*-[4681][-0]*0.3' "xrange [:2000]" logx left |xv -& famplot N CP 'RdE+' grid left |xv -& famplot N CP 'Bag' grid left |xv -& famplot N CP 'RdE+' logy |xv -& famplot N CP 'RdE+' logx |xv -& famplot N CP 'RdE+*-4-' logx |xv -& famplot N CP 'RdE+*-2-' logx |xv -& famplot N CP 'RdE+*-[24]-' logx |xv -& famplot N CP 'Bag' logy |xv -& famplot N CP 'Bag' logx |xv -& famplot N CP 'TdL+' grid |xv -& famplot N CP 'TdL-' grid |xv -& 320x240 convert -crop 254x240+2+0 plots/half/NCPTdL-.png /tmp/foo.png ./doxyplot R% CP CC sum/size-SmW-*2000.dat grid lines | xv - & ./doxyplot R% CP CC /tmp/SmW-.dat grid lines | xv - & ./doxyplot R% CP CC /tmp/SmW-2000-6 grid lines | xv - & sort -n +4 sum/class-TdL-.dat > /tmp/foo; te /tmp/foo ./doxyplot -r R% CP sum/size-2000.dat grid | xv - & ./doxyplot -r R% CC sum/size-2000.dat grid | xv - & ./doxyplot -r R% CP CC sum/size-2000.dat grid | xv - & ./doxyplot CP CC sum/size-2000.dat logxy | xv - & > plots/CPCC2000.png ./doxyplot R CP sum/size-2000.dat logxy | xv - & > plots/CP2000.png ./doxyplot R% CC sum/size-2000.dat grid | xv - & ./doxyplot R% CP sum/size-2000.dat grid | xv - & ./doxyplot R% CC CP sum/size-2000.dat grid | xv - & ./doxyplot R% CP CC sum/size-2000.dat grid | xv - & ./doxyplot R% CC CP /tmp/SmW?.dat grid | xv - & ./doxyplot R% CP CC /tmp/SmW?.dat grid | xv - & ./doxyplot R% CP CC sum/size-Bag-2000.dat grid lines | xv - & ./doxyplot R% CC sum/size-Bag*.dat grid lines | xv - & ./doxyplot R CC sum/class-Bag*.dat grid lines | xv - & ./doxyplot R% CC sum/class-*.dat grid lines | xv - & ./doxyplot R% CC sum/size-*-2000.dat grid lines | xv - & c2files=`ls sum/size-*-2000.dat` cfiles=`ls sum/class-*.dat` echo $c2files echo $cfiles famplotN() { # Y Class plotargs > pngfile y=$1; shift; class=$1; shift ./doxyplot N $y `fsort $class` lines "xrange [:2000]" "$@" } fsort Bag #./dofamplot Bag Pl logxy | xv - & #famplot N Pl Bag logxy lines left "xrange [:2000]" | xv -& famplot N Pl Bag logxy left | xv -& famplot E Pl Bag logxy left | xv -& famplot CC CP Bag grid | xv -& famplotN Pl Bag logxy left | xv -& famplot N Pl Bag logxy left "xrange [:2000]" | xv -& famplot '-n Sh N' Pl Bag logxy left "xrange [:2000]" | xv -& famplot '-n Sh N' Pl Bag logy "xrange [:2500]" | xv -& famplot-nSh() { # X Y Class plotargs > pngfile x=$1; shift; y=$1; shift; class=$1; shift ./doxyplot -n Sh $x $y `fsort $class` lines "$@" } famplotN-nSh() { # Y Class plotargs > pngfile y=$1; shift; class=$1; shift ./doxyplot -n Sh N $y `fsort $class` lines "xrange [:2000]" "$@" } famplotN-nSh Pl SmW+ logy "xrange [:3000]" | xv -& famplotN-nSh Pl Bag logy "xrange [:2500]" | xv -& famplotN-nSh Pl RdE+ logy "xrange [:2500]" | xv -& famplotN-nSh Pl Bag grid left logy | xv -& famplotN-nSh Pl 'SmW+*-10' logy left | xv -& famplot Sh Pl SmW+ logxy left | xv -& famplot Sh Pl SmW+ logxy left "xrange [.5:]" | xv -& famplot Sh Pl 'SmW+*0.3' logxy left | xv -& famplot Sh Pl 'SmW+*-10' logxy left | xv -& famplot Sh Pl Bag grid left | xv -& famplot-nSh Sh Pl 'SmW+' logxy left "xrange [.5:500]" "yrange [.5:]" | xv -& famplot-nSh Sh Pl 'SmW+*0.3' logxy left | xv -& famplot-nSh Sh Pl 'SmW+*-10' logxy left | xv -& famplot-nSh Sh Pl Bag logy left | xv -& famplotN Pl SmW+ grid left | xv -& famplotN Pl 'SmW+*-10' logxy left | xv -& famplotN Pl 'SmW+*0.5' logxy left | xv -& ./doxyplot P Pl /tmp/SmW?.dat grid | xv -& ./doxyplot -n Sh P Pl /tmp/SmW?.dat grid | xv -& params="E M a m CC CP D Pl D1 B1 Sh SM Sa Sm" fams='Bag RdE+ RdE- RdN+ RdN- SmW+ SmW- TdL+ TdL- TdS+ TdS-' for f in $fams; do famplotN Pl "$f" logxy left |xv -& done Ax(){ echo "\$`./name2plot -c $1`" } awk "{print `Ax Pl`, `Ax B1`, `Ax D1`}"/tmp/PlB1D12000 awk "{print \$1}" < /tmp/PlB1D12000 > /tmp/PowerLaw-2000.dat awk "{print \$2}" < /tmp/PlB1D12000 > /tmp/BreadthFirst-2000.dat awk "{print \$3}" < /tmp/PlB1D12000 > /tmp/DepthFirst-2000.dat files="/tmp/PowerLaw-2000.dat /tmp/BreadthFirst-2000.dat /tmp/DepthFirst-2000.dat" cmds='ylabel "Search Length"' ./doxyplot -ns R Z $files grid left "$cmds" > plots/PlB1D12000.png ./doxyplot -ns R Z $files grid left logy "$cmds" > plots/PlB1D12000.1.png Axd(){ echo "\$`./name2plot -c $1`/\$`./name2plot -c $2`" } awk "{print `Axd Pl Sh`, `Axd B1 Sh`, `Axd D1 Sh`}"/tmp/PlB1D1S2000 awk "{print \$1}" < /tmp/PlB1D1S2000 > /tmp/PowerLaw-2000.dat awk "{print \$2}" < /tmp/PlB1D1S2000 > /tmp/BreadthFirst-2000.dat awk "{print \$3}" < /tmp/PlB1D1S2000 > /tmp/DepthFirst-2000.dat cmds='ylabel "Search Length / Shortest Path"' ./doxyplot -ns R% Z $files grid left "$cmds" > plots/PlB1D1S2000.png ./doxyplot -ns R% Z $files grid left logy "$cmds" > plots/PlB1D1S2000.1.png grep SmW+ /tmp/SmW+.dat grep SmW- /tmp/SmW-.dat ./doxyplot P CP CC /tmp/SmW+.dat grid | xv - & ./doxyplot P CP CC /tmp/SmW+.dat grid logx | xv - & ./doxyplot P CP CC /tmp/SmW?.dat grid | xv - & ./doxyplot P CP CC /tmp/SmW?.dat grid logx | xv - & ./doxyplot R CC sum/size-2000.dat grid | xv - & ./doxyplot -r R CC sum/size-2000.dat grid | xv - & ./doxyplot R% CC sum/size-2000.dat grid | xv - & ./doxyplot R% D Sh sum/size-2000.dat grid | xv - & ./doxyplot D Sh sum/size-2000.dat grid | xv - & ./doxyplot R Pl sum/size-2000.dat grid | xv - & ./doxyplot -n Sm R% Pl sum/size-2000.dat grid | xv - & ./doxyplot -n Sm R% Pl D1 sum/size-2000.dat grid | xv - & ./doxyplot -n Pl R% D1 B1 sum/size-2000.dat grid \ "yrange [0:80]" "y2range [0:80]" | xv - & ./doxyplot -n Sh R% Pl B1 sum/size-2000.dat logy \ "yrange [.1:100]" "y2range [.1:100]" | xv - & ./doxyplot CC CP /tmp/SmW+.dat grid | xv - & ./doxyplot CP CC /tmp/SmW+.dat grid | xv - & ./doxyplot P M /tmp/SmW+.dat grid | xv - & ./doxyplot M P /tmp/SmW+.dat grid | xv - & ./doxyplot P CC /tmp/SmW+.dat grid | xv - & ./doxyplot P CC CP /tmp/SmW+.dat grid | xv - & ./doxyplot P CC CP /tmp/SmW+.dat logx | xv - & ./doxyplot P CC CP /tmp/SmW+.dat logy | xv - & ./doxyplot -r R CC CP /tmp/SmW+.dat grid | xv - & ./doxyplot -r R% CC CP /tmp/SmW+.dat grid | xv - & ./doxyplot -r R CC CP sum/size-SmW--2000.dat grid lines | xv - & ./doxyplot -r R CP CC sum/size-SmW--2000.dat grid lines | xv - & ./doxyplot -r R CC sum/size-2000.dat grid | xv - & ./doxyplot -r R CP sum/size-2000.dat grid | xv - & ./doxyplot -r R CC CP sum/size-2000.dat grid | xv - & ./doxyplot -r R CC CP sum/size-Bag-2000.dat grid lines | xv - & ./doxyplot -r R CP sum/size-2000.dat logy | xv - & ./doxyplot -r R CC sum/size-2000.dat logy | xv - & ./doxyplot -r R CP sum/size-2000.dat grid | xv - & ./doxyplot -r R CC sum/size-2000.dat grid | xv - & for f in `ls sum/*2000*`; do ./doxyplot -r R CC CP $f grid lines | xv - & done ./doxyplot -r R CC CP sum/size-2000.dat logy | xv - & ./doxyplot -r R CP CC sum/size-2000.dat logy | xv - & ./doxyplot -r R CC CP sum/size-SmW?-2000.dat logy | xv - & ./doxyplot -r R CP CC sum/size-SmW?-2000.dat grid | xv - & ./doxyplot P CC CP sum/size-SmW?-2000.dat grid | xv - & ./doxyplot -r R CC CP /tmp/SmW?.dat grid lines | xv - & ./doxyplot -r R CP CC /tmp/SmW?.dat grid lines | xv - & ./doxyplot P CC CP /tmp/SmW?.dat grid | xv - & ./doxyplot -r R CC sum/class-Bag.dat grid | xv - & ./doxyplot -r R CP sum/class-Bag.dat grid | xv - & ./doxyplot -r R CC CP sum/class-Bag.dat grid | xv - & cut -d ' ' -f "$CC $CP" sum/class-Bag.dat|sort -rn > /tmp/Bag gnuplot - << EOF 2>/tmp/gplog | xv - & set terminal png color; set output #set autoscale set xtics; set ytics; set y2tics; set mxtics set grid set xlabel "R" set ylabel "CC" set y2label "CP" plot "/tmp/Bag" using 0:1 t "CC", \ "/tmp/Bag" using 0:2 axes x1y2 t "CP" EOF ./doxyplot P Pl /tmp/SmW?.dat grid | xv - & sum/size-2000.dat sum/size-RdN+-2000.dat sum/size-TdL+-2000.dat sum/size-Bag-2000.dat sum/size-RdN--2000.dat sum/size-TdL--2000.dat sum/size-RdE+-2000.dat sum/size-SmW+-2000.dat sum/size-TdS+-2000.dat sum/size-RdE--2000.dat sum/size-SmW--2000.dat sum/size-TdS--2000.dat ./doxyplot -r R CP sum/size-2000.dat logy | xv - & ./doxyplot -r R CC sum/size-2000.dat logy | xv - & ./doxyplot -r R CC sum/size-SmW+-2000.dat logy | xv - & ./doxyplot -r R CP sum/size-SmW+-2000.dat logy | xv - & ./doxyplot -r R CC sum/size-RdE+-2000.dat logy | xv - & ./doxyplot -r R CP sum/size-RdE+-2000.dat logy | xv - & ./doxyplot -r R CC sum/size-Bag-2000.dat logy | xv - & ./doxyplot -r R CP sum/size-Bag-2000.dat logy | xv - &