MovableType で、エントリの投稿数やコメント、トラックバックの数を曜日毎に集計してグラフ表示する方法を紹介します。「水曜日と木曜日にエントリの投稿が多い」だとか「日曜日にはコメントの数が多い」と云ったブログの運用傾向を視覚的に把握することができて楽しいです。グラフの作成には Google Chart API を利用しています。
0 が日曜日、6 が土曜日を表しています。曜日毎にエントリの投稿数とコメントされた数、トラックバックの受信数を縦積みの棒グラフにして表示することができます。
インデックステンプレートに以下のテンプレートを記述し、保存・再構築してください。出力ファイルは任意のファイ名の HTML ファイルにしておきます。プラグインは使用せず、MovableType 4 の変数のみで記述できます。
<MTIgnore>エントリの投稿された曜日を集計</MTIgnore> <MTEntries lastn="0"> <$MTEntryDate format="%w" setvar="w"$><$MTSetVar name="We" index="$w" value="1" op="+"$> </MTEntries> <MTIgnore>コメントの投稿された曜日を集計</MTIgnore> <MTComments lastn="0"> <$MTCommentDate format="%w" setvar="w"$><$MTSetVar name="Wc" index="$w" value="1" op="+"$> </MTComments> <MTIgnore>トラックバックを受信した曜日を集計</MTIgnore> <MTPings lastn="0"> <$MTPingDate format="%w" setvar="w"$><$MTSetVar name="Wp" index="$w" value="1" op="+"$> </MTPings> <MTIgnore>Google Chart API 用のクエリ引数たち</MTIgnore> <MTSetVarBlock name="Q" function="push">cht=bvs</MTSetVarBlock><MTIgnore>縦積み棒グラフ</MTIgnore> <MTSetVarBlock name="Q" function="push">chs=300x300</MTSetVarBlock><MTIgnore>出力される画像サイズ</MTIgnore> <MTSetVarBlock name="Q" function="push">chds=0,<$MTBlogEntryCount$></MTSetVarBlock><MTIgnore>スケール</MTIgnore> <MTSetVarBlock name="Q" function="push">chxt=x</MTSetVarBlock><MTIgnore>横軸に目盛りを振る</MTIgnore> <MTSetVarBlock name="Q" function="push">chdl=Entry|Comment|Ping</MTSetVarBlock><MTIgnore>ラベル</MTIgnore> <MTSetVarBlock name="Q" function="push">chco=ff0000,00ff00,0000ff</MTSetVarBlock><MTIgnore>グラフの色</MTIgnore> <MTSetVarBlock name="Q" function="push">chd=t:<$MTGetVar name="We" glue=","$>|<$MTGetVar name="Wc" glue=","$>|<$MTGetVar name="Wp" glue=","$></MTSetVarBlock><MTIgnore>データ</MTIgnore> <MTIgnore>クエリを結合してAPIを呼び出す</MTIgnore> <img src="http://chart.apis.google.com/chart?<$MTGetVar name="Q" glue="&"$>" />
クエリ文字列のうち cht=lg
とすると、折れ線グラフになります(横軸のラベルがズレますが)。
更にこのテンプレートを少し改造してやると下図のように時間毎の集計もできます。
寄せられたコメント (全 4 件中、最新 5 件まで表示しています)
帰宅中ならUMPCandPHSでなんとかなりそうな気もするが…さすがにそこまでしたくない。
昼間に増えてたら…仕事場から読んでるのではないかと邪推してみたり…(除12時台)。