#!/bin/sh #======================================================================= # Copyright (C) 2006 Massimo Piai #======================================================================= ## ## variables and defaults ## MYNAME=`basename $0 .sh` DATAPERPAGE=15 TITLE="Titolo" TITLEFS=50 XHLFS=30 YHLFS=30 XMIN=0 XMAX=20 YMIN=0 YMAX=20 SHORT=6 LONG=8.5 MARKSIZEBASE=0.62 DATA=`cat` DATAQUANT=`echo $DATA | wc -w` CFCOLOR="1 0 0" LANDSCAPE="no" OUT="jgr" JGR=`tempfile` PS=`tempfile` ## ## command line options ## while [ $1 ] do case $1 in --dataperpage | -d) DATAPERPAGE=$2; shift;; --title | -t) TITLE=$2; shift;; --xmin | -x) XMIN=$2; shift;; --xmax | -X) XMAX=$2; shift;; --ymin | -y) YMIN=$2; shift;; --ymax | -Y) YMAX=$2; shift;; --cfcolor | -c) CFCOLOR="$2 $3 $4"; shift 3;; --landscape | -l) LANDSCAPE="yes";; --psout | -p) OUT="ps";; --view | -v) OUT="view";; *) echo "$MYNAME.sh: $1: unimplemented option."; exit 1;; esac shift done ## ## main program ## COUNTER=0 for DATUM in $DATA do if [ $((COUNTER%DATAPERPAGE)) -eq 0 ] then if [ $COUNTER -gt 0 ] then echo >> $JGR echo "newpage" >> $JGR fi echo "newgraph" >> $JGR echo "title fontsize $TITLEFS : $TITLE ($((COUNTER/DATAPERPAGE+1))/$((DATAQUANT/DATAPERPAGE+1)))" >> $JGR case $LANDSCAPE in "yes") echo "xaxis min $((COUNTER-1)) max $((COUNTER+DATAPERPAGE)) size $LONG hash_labels fontsize $XHLFS" >> $JGR echo "yaxis min $YMIN max $YMAX size $SHORT hash_labels fontsize $YHLFS" >> $JGR echo "newcurve marktype xbar cfill $CFCOLOR marksize $MARKSIZEBASE 1 pts" >> $JGR echo -n "$COUNTER $DATUM " >> $JGR ;; "no") echo "xaxis min $XMIN max $XMAX size $SHORT hash_labels fontsize $XHLFS" >> $JGR echo "yaxis min $((COUNTER-1)) max $((COUNTER+DATAPERPAGE)) size $LONG hash_labels fontsize $YHLFS" >> $JGR echo "newcurve marktype ybar cfill $CFCOLOR marksize 1 $MARKSIZEBASE pts" >> $JGR echo -n "$DATUM $COUNTER " >> $JGR ;; esac fi case $LANDSCAPE in "yes") echo -n "$COUNTER $DATUM " >> $JGR;; "no") echo -n "$DATUM $COUNTER " >> $JGR;; esac COUNTER=$((COUNTER+1)) done case $OUT in "jgr") cat $JGR;; "ps") case $LANDSCAPE in "yes") cat $JGR | jgraph -L -P;; "no") cat $JGR | jgraph -P;; esac ;; "view") case $LANDSCAPE in "yes") cat $JGR | jgraph -L -P > $PS gv -spartan -scale -3 -seascape $PS ;; "no") cat $JGR | jgraph -P > $PS gv -spartan -scale -3 $PS ;; esac esac rm $JGR $PS