HOW TO GO

〜昨日の今日とは一味二味違うBlog〜

Jリーグの対戦データをGephiでネットワークグラフに

過去のJリーグの対戦データをネットワーク図にしてみました。

f:id:sugiim:20130526121305j:plain


■J1の対戦データ(2001年~2012年)

J1の対戦データのみ12年分集計しました。
http://j-league-gephi.herokuapp.com/j1/

■J1とJ2混合の対戦データ(2009年~2012年)
J1、J2のすべてのチームに対して3年分の集計をしました。
もちろん対戦していないチームもあります。
http://j-league-gephi.herokuapp.com/j1j2/

集計したデータ

Jリーグのページで過去の対戦データを公開しています。
http://www.j-league.or.jp/data/

これを集計して、Gephiでネットワークグラフを作りました。

Jリーグは最近20周年を迎えたわけですが、
J1は昔2シーズン制だったり(また2シーズン制に戻すという話も最近ありますね)、J2ではチーム数が少なく、ホーム&アウェイを2回繰り返していた(つまり年に同じチームと4回対戦していた)時期もあります。
おかげでデータのフォーマットがその年のレギュレーションによってけっこう違うんです。
そんな訳で集計対象が中途半端な年数(12年とか3年)になっています。…要は面倒くさかっただけ(笑)

画面の説明

f:id:sugiim:20130526134955j:plain

各ノードは総得点数を表しています。
「Inbound」は相手がそのノードから獲った点数を示します。つまりそのノードにとっては失点数です。数が多いほど線が太くなっています。
「Outbound」はその逆です。つまり得点数です。

我らがFC東京は…

f:id:sugiim:20130526140157j:plain

一度降格しましたが、ずっと中位をウロウロないチームなんでこれといって特徴はないかなー、と見てたら、鹿島アントラーズからの失点がすげー多かった…。
そういや鹿島に勝ってるイメージがまったくないです。最近も逆転負けしたし。
そりゃひどいデータになるわ…。

J1のデータをみると

f:id:sugiim:20130526140921j:plain

ガンバと川崎のノードの大きさが目立ちます。
攻撃サッカーを継続して実現してきたチームですね。
これも印象通りですね。バカ試合打ち合いの試合が多い(笑)

J1, J2を合わせてみると

f:id:sugiim:20130526142449j:plain
J2側(左下)で東京Vと千葉のノードが大きいですね。
比較的良い成績を残しているのですが昇格していない、という何ともアレな感じです。
(昇格しているチームはJ1で苦戦するのでノードはそれほど大きくなりません)

J1、J2でも得点の多いチームが強いわけではないですね。
あたりまえですが…。

そもそも何でこんなもの作ったか

Rubyの勉強をしているのですが、ループ処理とか基本的なコードを沢山書いて練習しようと思っていました。
それでたまたま「建築批評空間を可視化してみた」を見て、同じようなことをしてみよう、と思ったのがきっかけです。
プログラム言語を覚えようと思ったら何かを夢中で書くのが一番ですね。

気が向いたら、Gephiの使い方とかデータ解析のソースコードなどについて書きます。