diff options
Diffstat (limited to 'dist-tools/growthplot')
-rwxr-xr-x | dist-tools/growthplot | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/dist-tools/growthplot b/dist-tools/growthplot deleted file mode 100755 index 73f4f4e9..00000000 --- a/dist-tools/growthplot +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/sh -# -# growthplot -- plot the fetchmail project's growth as a function of time -# - -PATH="$PATH:.:./dist-tools"; export PATH - -tmp=/tmp/fetchmail-growthplot.$$ -mkdir $tmp - -# Get data from the NEWS file -timeseries >$tmp/growthplot$$ -grep "^[0-9]" $tmp/growthplot$$ >$tmp/growthnumbers$$ -grep "^[0-9.]*.[05].0 " $tmp/growthplot$$ >$tmp/growthmajors$$ -sed '/^4.2.9/,$d' <$tmp/growthnumbers$$ >$tmp/growthannounce$$ - -# gnuplot line styles. These occasionally change (like beteween 3.5 and 3.7); -# use "echo 'set terminal png; test' | gnuplot | display -" to check. -blue_boxes=3 -green_crosses=2 -cyan_diamonds=37 # Once purple triangles, but we can't do that anymore -brown_triangles=23 - -cat >$tmp/growthimage$$ <<EOF -set title "Fetchmail project growth history" -set xlabel 'Days since baseline' -set ylabel 'Participants' -set y2label 'Lines of code' -set ytics nomirror -set y2tics -set tics out -set autoscale y -set y2range [5000:50000] -set key bottom right box -set terminal png - -EOF - -# OK, now write the event labels -( - count=0 - lastday=0 - breakheight=510 - while read version legend - do - if [ "$version" = '%' ] - then - echo "# Associate $lastday to '$legend'" - count=$((count+1)) - lastday=$(($lastday-5)) - endy=$((breakheight+50+count*50)) - if ((endy>lasttotal)) - then - # Label over curve hanging right, arrow down - arrowhead=$((lasttotal+50)) - echo "set label '$legend' at $lastday-10, $endy+15" - else - # Label under curve hanging left, arrow up - arrowhead=$((lasttotal-5)) - strlen=`python -c "print len('$legend')"` - lablen=$((strlen*22)) - echo "set label '$legend' at $lastday-$lablen+10, $endy-15" - fi - echo set arrow \ - from $lastday, $endy \ - to $lastday, $arrowhead \ - head - else - set -- $legend - size=$1 - friends=$2 - announce=$3 - total=$4 - days=$5 - date=$6 - lastday=$days - lasttotal=$total - fi - done -) <$tmp/growthplot$$ >>$tmp/growthimage$$ - -# OK, now write the major-release labels -( - while read version size friends announce total days date - do - echo "set arrow from $days, $total - 55 to $days, $total - 15 head" - echo "set label '$version' at $days - 5, $total - 65" - done -) <$tmp/growthmajors$$ >>$tmp/growthimage$$ - -cat >>$tmp/growthimage$$ <<EOF -plot [] [0:] '$tmp/growthnumbers$$' using 6:5 \ - title "Both lists" with points $blue_boxes, \ - '$tmp/growthannounce$$' using 6:4 \ - title "fetchmail-announce" with points $cyan_diamonds, \ - '$tmp/growthannounce$$' using 6:3 \ - title "fetchmail-friends" with points $green_crosses, \ - '$tmp/growthnumbers$$' using 6:2 axes x1y2 \ - title "Lines of code" with points $brown_triangles -EOF - -gnuplot $tmp/growthimage$$ >growth.png - -rm -f $tmp/growth* -rmdir $tmp - -# growthplot ends here - - - - - - - |