#! /bin/sh # searchgraph < data-file > image-file img=png while [ $# -gt 0 ]; do case $1 in -png) img=png; shift ;; -pbm) img=pbm; shift ;; -gif) img=gif; shift ;; esac done sed -n ' 1 w /tmp/params /^Average.*:/w /tmp/avg /^Level.*:/w /tmp/stats /^Small.*:/w /tmp/clust /^Searches:/,/^Averages/{ /^[0-9].*:/w /tmp/test } ' sed 's/ */ /g' < /tmp/test | tr ":/ " " \n" \ | sed 's/^[^ ]* //' | sort -n +0 +1 +2 > /tmp/data #| sed 's/^[^ ]* //' | sort -nr +0 +1 +2 > /tmp/data bigname=`sed 's/^.*: //' /tmp/params` name=`sed 's/:.*//' /tmp/params` edges=`sed 's/^.*Edges.*= *//' /tmp/stats` stats=`sed 's/^.*: //;s/;.*//' /tmp/stats` clust=`sed 's/^.*=//' /tmp/clust` search=`sed 's/;.*//;s/^.*=//' /tmp/avg` title="$bigname E=$edges Levels:$stats" title1="Rank\n$name E=$edges PL/DF/BF/Sh=$search Clust/Path/Diam=$clust" gnuplot - << EOF 2>/tmp/gplog set terminal $img color; set output set x2label "$title" set xlabel "$title1" set ylabel "Searches" set grid mxtics mytics xtics ytics set logscale y plot "/tmp/data" using 0:1 t "PLSearch", \ "/tmp/data" using 0:2 t "Depth First Search", \ "/tmp/data" using 0:3 t "Breadth First Search" EOF exit set ylabel "Search Path Length" plot "/tmp/data" using 0:(column(1)+1) t "PLSearch", \ "/tmp/data" using 0:(column(2)+1) t "Depth First Search", \ "/tmp/data" using 0:(column(3)+1) t "Breadth First Search" plot "/tmp/data" using 0:1 t "PLSearch", \ "/tmp/data" using 0:2 t "Depth First Search", \ "/tmp/data" using 0:3 t "Breadth First Search"