GMTでニュース見出しをグラフ化する

以前から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

 

ライフタイムの長いニュースと短いニュースが見分けられるようになりました。

f:id:S_E_Hyphen:20170530083132j:plain