takedajs ログ

備考録

golangで政府統計データ(e-Stat)を取得してグラフを作成する

golangで外部APIの情報を使いグラフを作成してみたかったので、
政府統計の総合窓口(以下、e-Stat)が提供している政府統計データを利用してみました。

目次

  1. e-Statって?
  2. グラフ表示に使ったパッケージ
  3. 作ったもの
  4. コード

e-Statって?

e-Statとは、日本の統計が閲覧できる政府統計ポータルサイトで、開発者向けてにAPI(以下、e-StatAPI)を提供しています。

政府統計の総合窓口(e-Stat)-API機能

簡単な利用登録でAPIを使うことができるのでありがたいです。
今回は使い方について詳しく書かないので、以下を参考にしてください。

APIの使い方

グラフ表示に利用したパッケージ

サンプルが載ってます。
https://github.com/gonum/plot/wiki/Example-plots

前にこのパッケージを利用した簡単な記事を書きました。

作ったもの

平成26年10月1日現在人口推計から、
男女の0,20,40,60,80,100歳以上の人数を取得して、棒グラフ作成しました。

60歳以上は女性の方が多いんですね。
パッケージのサンプルをかなり参考にしました。横の項目の位置が少しずれてしまうのは直せませんでした。
あと、日本語対応してないみたいですね。そりゃそうか。

コード

gist2ba4737937e42156477d3e8a304dfdcf

JSONの$のバインドで少し詰まったんですが、なんとか解決できました。

最後に

JSONデータをパースするときに、要素分の構造体を書かないといけないのがかなり面倒です。 なので、利用していない要素に関してはinterface{}を書き手抜きしました。 改良するとしたら、プルダウンで取得したい情報を選択して、該当するグラフを動的に作成するのを作りたいですね。