円グラフを描画するコマンドである。 x軸・y軸に展開する属性項目を指定することで、 1次元もしくは2次元の円グラフ行列を描画することができる。 グラフは単独のHTMLファイルとして出力されるので、 一般的なブラウザで表示が可能である。
入力データには、Table 2.3のようなCSVを用いる。 円グラフを構成する扇となる項目を構成要素項目といい、 f=パラメータで指定する。 x軸・y軸に展開する属性項目はk=パラメータで指定する。 k=パラメータで1項目を指定すると1次元の(x軸に展開された)円グラフ行列が、 2項目を指定すると2次元の(x軸・y軸に展開された)円グラフ行列が描画される。 k=パラメータを省略した場合は、1個の円グラフが描画される。
なお円グラフの描画には、内部的に JavaScriptライブラリD3.js(Data-Driven Documents)を使用している。 D3.jsの詳細は公式ページ(http://d3js.org/)を参照のこと。
また本コマンドを利用するためには、nysol/mcmdライブラリが必要となる。
Pref |
Age |
Population |
奈良 |
10 |
310504 |
奈良 |
20 |
552339 |
奈良 |
30 |
259034 |
奈良 |
40 |
450818 |
奈良 |
50 |
1231572 |
奈良 |
60 |
1215966 |
奈良 |
70 |
641667 |
北海道 |
10 |
310504 |
北海道 |
20 |
252339 |
北海道 |
30 |
859034 |
北海道 |
40 |
150818 |
北海道 |
50 |
9231572 |
北海道 |
60 |
4215966 |
北海道 |
70 |
341667 |
mpie.rb [i=] f= v= [o=] [k=] [title=] [pr=] [cc=] [--help]
i= 入力データファイル名(CSV形式) f= 構成要素項目名を指定する。 データにnullが含まれる場合は無視する。 v= 構成比項目(円グラフの円弧の長さを決定する項目)を指定する。 データにnullが含まれる場合は0として扱う。 先頭の0は無視する。数字以外の場合はエラーとなる。 o= 出力ファイル名(HTMLファイル) k= x軸・y軸に展開する属性項目名を2つ以内で指定する。 省略した場合は円グラフを1つ作成する。 項目を1つ指定した場合は1次元の円グラフ行列を、 項目を2つ指定した場合は2次元の円グラフ行列を作成する。 title= グラフのタイトル文字列を指定する。 pr= 円グラフの半径を指定する(デフォルトは160)。 cc= 1行に表示する円グラフの最大数を指定する(デフォルトは5)。 1次元の円グラフ行列のときのみ指定できる。 --help ヘルプの表示
なおmpie.rbコマンドには、 f=パラメータやk=パラメータで指定した項目を 自動的に並べ替える機能はない。 グラフに表示したい順に、あらかじめ並べ替えておく必要がある。
dat1.csvファイルのAgeを構成要素項目に、 Populationを構成比項目として円グラフを1つ描画する。
$ more dat1.csv Age,Population 10,310504 20,552339 30,259034.5555 40,0450818 50,1231572 60,1215966 70,641667 $ mpie.rb i=dat1.csv v=Population f=Age o=result1.html #END# mpie.rb i=dat1.csv v=Population f=Age o=result1.html;
以下の円グラフが描画される。
ブラウザで表示した円グラフにマウスカーソルを置くと、 構成要素項目とその構成比がポップアップで表示される。 グラフはマウスによるドラッグ操作で移動することができ、 またマウスのスクロール操作によって拡大縮小もできる。
dat2.csvファイルのAgeを構成要素項目に、 Populationを構成比項目として円グラフを描画する。 k=パラメータにPref項目を指定しているので、 Pref項目の値をx軸(横方向)に展開した1次元の円グラフ行列が描画される。 title=パラメータでグラフのタイトルも指定している。
$ more dat2.csv Pref,Age,Population 奈良,10,310504 奈良,20,552339 奈良,30,259034 奈良,40,450818 奈良,50,1231572 奈良,60,1215966 奈良,70,641667 北海道,10,310504 北海道,20,252339 北海道,30,859034 北海道,40,150818 北海道,50,9231572 北海道,60,4215966 北海道,70,341667 $ mpie.rb i=dat2.csv k=Pref v=Population f=Age o=result2.html title=奈良と北海道の年代ごとの人口 #END# mpie.rb i=dat2.csv k=Pref v=Population f=Age o=result2.html title=奈良と北海道の年代ごとの人口;
以下の円グラフ行列が描画される。
dat3.csvファイルのテーマパーク名を構成要素項目、 Numberを構成比項目とし、pr=パラメータに半径100を指定して円グラフを描画する。 k=パラメータにGenderとAge項目を指定しているので、 Gender項目の値をx軸(横方向)に、 Age項目の値をy軸(縦方向)に展開した2次元の円グラフ行列が描画される。
$ more dat3.csv Gender,Age,テーマパーク名,Number 男性,30,デズニ,100 男性,30,UFJ,59 男性,30,梅屋敷,180 男性,40,デズニ,200 男性,40,UFJ,3 男性,40,梅屋敷,10 男性,50,デズニ,110 男性,50,UFJ,40 女性,30,梅屋敷,100 女性,30,デズニ,80 女性,30,UFJ,200 女性,40,デズニ,90 女性,40,UFJ,80 女性,40,梅屋敷,120 女性,50,デズニ,99 女性,50,UFJ,80 女性,50,梅屋敷,110 $ mpie.rb i=dat3.csv k=Gender,Age v=Number f=テーマパーク名 o=result3.html title=性別と年代ごとのテーマパーク訪問回 pr=100 #END# mpie.rb i=dat3.csv k=Gender,Age v=Number f=テーマパーク名 o=result3.html title=性別と年代ごとのテーマパーク訪問回 pr=100;
以下の円グラフ行列が描画される。