先日、同僚に「FACTFULNESS」を借りて読みました。早速、冒頭のクイズでチンパンジーよりデキが悪いことを言い渡された格好になったわけですが、読み進むにつれ、世界の優秀な大学を出た方々も、著名な学者の方々も、世界情勢や経済に明るい方々も含めて、とにかくほぼ全ての方が同レベル、すなわち「チンパンジーよりデキが悪い」ことを知り、内心ほっとすることができました。
さて、この本の見開き1ページ目にカラフルなバブルチャートがあります。横軸が所得(ひとり当たりのGDP)、縦軸が寿命(平均寿命)、バブルが各国の人口を表しています。
このバブルチャートもその一つですが、著者はチャートやデータを使って今日我々が暮らしている世界は、私たちの「知っている」世界はとはずいぶん違うんだということ、同時に少しずつ良くなっているんだということを教えてくれます。詳しい話しは本書に譲るとして、そんなおり、SumoLogicのGUIにStacyさんから新機能が追加されたとメッセージが届いたのです。
「新ダッシュボードをリリースしました」
というのです。よく見るとバブルチャートではありませんか!!
これはFACTFULNESS的バブルチャートを作成せねばと思い立ったというわけです。
FACTFULNESSで紹介されているデータは全て公開されている情報で、そのリンクも著書内で紹介されています。早速、人口、所得、および寿命のデータを準備しました。
- 準備した情報
人口:population
所得:income
寿命:life expectation
- 情報ソースへのリンク
https://www.gapminder.org/data/
それぞれ国ごと、年ごとの数字がCSV形式とXLSX形式で提供されています。CSVをそのままSumoLogicに取り込んでも良かったのですが、少々下処理を行い以下のような形式で1つのファイルにまとめてから取り込みました。
Type=POPULATION|INCOME|LIFE Country=国 Year=年 Value=値
例えば、2020年の日本のレコードは次のようになります。
Type=POPULATION Country=Japan Year=2020 Value=126000000
Type=INCOME Country=Japan Year=2020 Value=40100
Type=LIFE Country=Japan Year=2020 Value=84.7
これをSumoLogicに取り込みます。
バブルチャートを作成するには、X軸、Y軸、Z軸(バブルの大きさ)の3つの軸が必要です。この3つの軸に相当する値が含まれるクエリを作成します。今回取り込んだデータの最新年度が2020年なので、2020年の国ごとの所得(income)、寿命(life)、人口(population) について、クエリの結果が次のような表になるようにします。なお、どの軸に何の値を割り当てるかは後で指定するのでクエリの時点では気にする必要はありません。
ここまで来ればあとは流れ作業です。まずは作成したクエリをコピーしておきます。
タブメニューから「+New」をクリックし「Dashboard(New)」を選びます。
グラフのタイプは「Categorical」を選びます。
新ダッシュボードのタブが作成されます。「Chart Type」に「Bubble」を選び、タイムスパンを指定、「Logs」のフィールドに先ほどのクエリをペーストし実行します。
この時点でそれらしいグラフか描かれるかもしれませんが、慌てずもう1ステップ。XYZ軸を指定します。「Dimensions」でX軸(X Axis)、Y軸(Y Axis)、Z軸(Z Axis)にそれぞれincome、life、Agg. Series Value(アグリゲーションオペレータで集計した値。ここでは人口)を指定します。
無事バブルチャートが描かれました。
バブルの上にマウスカーソルを当てると、対象の国名、人口、所得、寿命が表示されます。チャートはタイトルを変えたり、色の割当を変えたりと、ちょっとしたカスタマイズが可能です。
寿命(Y軸)が50歳の前半から始まっているので、Y軸の開始値を50ぐらいに変えるとY軸上の分布が見やすくなると思うのですが、そこは調整できないようです。カスタマイズのアイコンに「JSON」というのがあり、それをクリックするとこのチャートの設定がJSON形式で表示されます。これを編集することでY軸の開始値を変えられるのかもしれません。その辺りは今後調べていこうと思います。
- カテゴリ:
- Sumo Logic
- 技術情報
- 技術コラム