GoogleSpreadSheetに入力されているデータをHighChartでグラフ化してはてぶにはるテスト
別にGoogle Chartを使ってもいいんだけど、カスタマイズできないしかっこいいグラフ作れないからHighChartとGoogle SpreadsheetとGoogle App Engineでデータをグラフ化するやつを作ってみた。ついでにはてぶにもはれるようにしてみた。
仕様
グラフ自体は以下の環境で動いています。
- データの保管場所:Google Spreadsheet
- 描画部分:Highchart.js
- サーバ:Google App Engine
- はてぶにはるところ:Google Gadget使ってiframeで表示しています(なので、iframeがはれる場所だったらredmineとかにもはれます)
でGoogle App Engineの利用料金が上がらないようにキャッシュをしたり、データを保持したりしないようにしています(このブログで描画するくらいなら0円でいけますし、会社で使うのでもそこそこの人数までは0円かと)
Google Spreadsheetを使っているのでMYSQLとかDBの知識がない人でもKPIを描画できてブログやWIKIなどに自動で反映されるグラフが作れます
元のデータ
例えばこのブログの新規ユーザーとリピーターの推移とそれぞれのユーザー群における検索流入の割合などをGoogle SpreadSheetに以下の様に記載しておきます。
グラフの種類
折れ線グラフ
まずは普通に折れ線グラフでグラフを表示します。
棒グラフ(実数値)
積上げのグラフを作ることもできますし、必要があれば下のラベルをクリックするとグラフをけすこともできます。
エリアグラフ(割合)
合計値を100%にしてそれぞれの割合をみるグラフ
検索経由での流入率
元がGoogle SpreadSheetなので計算した結果もグラフに自動で反映することができます。
このグラフを使いたい人がいましたら
Google App Engineでパスワードなどを入れてアップロードするとすぐに使えるのでもしもソースが欲しい方がいたらさくっと公開しようかと
Google Appsを使っている場合は同一ドメインでログインしている人にしか見せないとかそういった設定もできます。
ソーシャルメディア×データ分析で見る衆議院選挙の動向
データセクションさんのご好意でTwitterやFacebookに投稿された内容の時系列データをいただいたので、今日は選挙だしソーシャルメディアの情報からいろいろと分析をしてみました(最下部に今回分析したデータの元データも公開しています)。
データについて
データの集計対象は12月3日〜15日までにTwitter/Facebookに投稿されたデータで集計の関係上直近一週間のデータは集計の関係上一部サンプリングされたデータが使われています。分析結果はTwitter/Facebookに投稿された投稿内容のテキスト情報を元に作成しています。
例えば、自民党のデータであれば「自民党 選挙」という文字列が含まれているテキスト情報に分析を行っています。またTwitter/Facebookを使っている人たちの平均的な傾向として「。」という文字が含まれたデータを平均値として用いています。さらに今回は総選挙のデータが欲しいので「都知事選」を含むデータは対象外としています。
Twitter/Facebookの平均的な傾向と「選挙」の傾向
分析の実例を紹介しつつ、Twitter/Facebookの「選挙」に関するデータ分析の結果を紹介。まずはTwitter/Facebookに投稿された「。」という文字列を含んだデータと「選挙」という文字列を含んだデータの比較。
時系列の変化
日別にTwitter/Facebookに投稿された内容の中から特定の文字列を含んだ情報の数の分析。選挙が近づくにつれて徐々に「選挙」という文字列を含んだデータの割合が増えてきているのがわかります。
男女
投稿された内容から男女の判別ができたユーザーの男女別の投稿状況の比較。平均値は女性の方が若干多いのですが、選挙は女性による投稿の割合が結構低くなっています。選挙への興味はそんなに男女差があるのか。
年齢
投稿された内容から年代が判別できたユーザーの投稿状況の比較。10代は選挙の話をあまりしないと思いますが、20代の割合が平均値と比べてかなり低くなっています。30代はあまりさがないものの、それ以上の年齢層による投稿数は選挙に関しては平均値と比べてかなり高い。
ポジネガ
検索の対象がポジティブな言葉(良いとか、好きとか)と一緒に出現した割合とネガティブな言葉(いやとか、嫌いとか)の分析。平均的なTwitter/Facebookへのポストと比較して、「選挙」の文字列を含む投稿はネガティブな意見が多いみたいです。
バイラル数
この場合だと「選挙」という文字列を含むTwitterのフォロワー数から投稿された内容に接触したユーザー数の分析を行ったもの。下ではツイート一回あたりの接触フォロワー数(リツイートされた内容への接触も含む)とツイート一回あたりのリツイート回数。要するにどれだけ影響度の高い人がツイートしているかという分析。
選挙は平均値からすると接触しているフォロワー数はそこまで差が大きくないが、リツイート回数が2割程度しかない。選挙の話とか、ちょっと思想的な部分だったりするから普通のツイートと比べてリツイートするハードルが高いのかも。
各党についてのTwitter/Facebookの投稿状況
ここからは「各党の名前」+「選挙」という言葉が含まれているTwitter/Facebookに投稿されたデータを元に上と同様の分析を行っています。対象とした党は「民主党」「自民党」「日本未来の党」「日本維新の会」「公明党」「共産党」でデータの取得期間は上の分析と同じ。
時系列
前半は日本未来の党の割合が多かったが終盤に向けて失速。最後の方で若干日本維新の会の投稿割合が増えたが、全体としては自民党が最も高く民主党がその次という状況が続いていた。
男女別
男女差は日本未来の党の女性割合が少ないということと、投稿割合が多い民主党と自民党の女性比率が高いというくらいですかね。
年齢別
全体としては選挙全体の傾向とあまり変わりませんが、共産党の割合が他の少々異なるのは何か納得する感じ。
ポジネガ
各党の名前がでてきた時のポジティブな表現とネガティブな表現とどちらが割合が多かったかを調べた結果は以下のような感じ。
全体としては日本維新の会と公明党はポジティブな表現が多い。なんだか納得できる結果だがやっぱりポジネガの感じは民主党と自民党は違わない感じなのね。
(下に記載した元データの中にはどういうワードと一緒に出現したかの詳細まで記載されているので詳細に興味がある方は最下部のリンクからデータを落としてみてください。)
バイラルの分析
各党の名前が入っているツイートの分析結果。各データを見ていてもわかるけど、やはり日本維新の会とか、共産党とかは特徴的な感じになる。特に共産党に関しては一ツイートあたりのリツイート回数が多いとか非常に面白い。
総合すると
自民党に関するTwitter/Facebookへの投稿数も多いし、民主党とポジネガの割合がかわらないから全体として自民党のポジティブな意見が多いという結果ですかね。投稿数×ポジティブ割合から類推するに単純には各党の議席数は以下の感じですかね。ここで取り上げた党以外の人数は数えていないから何ともいえないけど、ソーシャルメディアの投稿状況と実際の選挙の乖離の度合いを見てみるっていうのは個人的にはとても興味がある。
今回の分析データについて
今回の分析データに関しては以下のGoogle Driveのフォルダに保存してあります。もしも興味がある方がいらっしゃいましたら使ってみてください。
選挙が終わって落ち着いたくらいのタイミングで選挙後や投票日当日の分析も遣って行きたいと思います。