LoginSignup
5
8

More than 5 years have passed since last update.

[Unity]時系列のランキングデータをお手軽に可視化する

Last updated at Posted at 2019-03-08

データの可視化というのは説得力が増すばかりでなく、新しい発見にも繋がりますよね。
Unityはゲームエンジンですが、実はツールとしての特性は「可視化にめっぽう強い」と言えます。

今回は、時系列のデータを拾ってきて可視化してみます。
githubにプロジェクトを置きました。
https://github.com/dsedb/VisualizationWorkshopTutorial

単純なプロジェクトですので、これからUnityを試す方には参考になると思います。

時系列のデータとは

ある時期において、Aがいくつ、Bがいくつ、と固有名に数値がついているようなものを指すことにします。
例えば
・歴代時価総額ランキング
・中世における国別の人口推移
・Twitterにおける週刊トレンド推移
などなど。まあ、いくらでもありますわな。

表示方法

2Dで可視化

Unityだしカッコよく3Dで、という気持ちにもなりますが、人間の知覚の限界から言っても、可視化の真骨頂は2Dだと思うんですよね。3Dにしたところでモニタは2Dなので、後ろ側の物体が遮蔽されて見えないとか、重なってわかりにくいとか、カメラを回す操作を入れて対応だとか、どこかしら無理があるので。

数値を面積にした円を描画し、それぞれの中心に固有名文字列を出しときましょう。
こんな感じ。
name.png

実装

物理挙動をあてがった円の面積を変えます。大きくなっても質量を変えなければ、物理的には風船が膨らむような、どこか「軽い」感じになるでしょう。その他、実装の特徴は以下です。

  • データはCSV
  • 時系列ごとにCSVファイルを分離
  • 視認性のため円の色をランダムに
  • 動作はRigidbody2Dで物理挙動に
  • 中心に引力を働かせる

具体例:男の子の命名トレンド(北米)

北米の社会保障局のサイトに、各年代の赤ちゃんの名前ランキングがありました。
https://www.ssa.gov/oact/babynames/index.html
このデータを可視化してみましょう。

結果

こうなります。

おもしろい。現代ではツブが小さくなるので、名前の偏りが減っていることが伺えます。傾向としては日本も同じですよね。

具体例:企業時価総額

次は、企業の時価総額のデータを見てみます。GAFAの戦いってやつを拝んでやろうじゃないですか。

結果

こうなりました。神々の戦いって感じしますなあ。

まとめ

お手軽な可視化ですが、こうして初めて気がつく点もありますよね。同じトップ10でも、1位がぶっちぎりなのか、どんぐりの背比べなのかで実際の事情はかなり違いますし、それが時系列で比較できるのは面白い。
こういうUnityの使い方は、きっと文系方面の研究でも有効ですよね。めでたしめでたし。

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8