以前からMYSQLに取り込んでいたニュースの見出しをグラフ形式で出力してみました。
描画には復活したGMTを使用しています。
X軸の単位を時間にすることもできるのですね。また、漢字も使ってみました。
#!/bin/bash
. gmt_path_set
gmtset HEADER_FONT=GothicBBB-Medium-UniJIS-UTF8-H
gmtset HEADER_FONT_SIZE=16p
gmtset PLOT_CLOCK_FORMAT=hh:mm
date=`getparstr $# "$*" "date"`
if [ -z $date ]
then
exit
fi
psfile=nhk_news.ps
mysql -h 192.168.0.16 life_log -N << _SQL_ > temp
select date( pubDate ),time( pubDate ),date( insertDate ),time( insertDate ),title
from nhk_main
where date( pubDate )="$date" and effect=1 order by pubDate;
_SQL_
date2=`date -d "$date 1 days" +'%Y-%m-%d'`
psbasemap -JX8c/15c -R0/8/-50/0 -Ba1/a1g1:"":nwes -K > $psfile
cat temp |\
awk -F "\t" '{printf "0 -%f 8 0 40 BL \"%s\"\n",NR,$5}' |\
pstext -J -R -O -K /dev/stdin >> $psfile
psbasemap -JX17cT/15c -R${ date }T00:00:00/${ date2 }T06:00:00/-50/0 \
-Ba6Hf1H/g1:."${ date }のニュース":Nwes -O -K -X8c >> $psfile
cat temp |\
awk -F "\t" '{printf "%sT%s -%f %sT%s -%f\n",$1,$2,NR-0.5,$3,$4,NR-0.5}' |\
while read x1 y1 x2 y2
do
printf "%s %s\n%s %s\n" $x1 $y1 $x2 $y2 |\
psxy -J -R -W1/0/0/0 -SS0.1 -O -K /dev/stdin >> $psfile
printf "%s %s\n%s %s\n" $x1 $y1 $x2 $y2 |\
psxy -J -R -W5/0/0/0 -O -K /dev/stdin >> $psfile
done
echo "${ date2 }T06:00:00 -50 6 0 40 BR $date" |\
pstext -J -R -O /dev/stdin >> $psfile
rm temp
ライフタイムの長いニュースと短いニュースが見分けられるようになりました。