SlideShare a Scribd company logo
1 of 25
D3.jsでのデータビジュアライゼーション 
-人口統計データから使い方を学ぶ- 
Ticklecode. 
Yoshinori Kobayashi 
秋のJavascript祭り2014.09.07 
1
生まれは奈良県です。 
小林由憲(こばやしよしのり) 
Twitter: @AsbyuKobayashi 
ブログ: In Advance Only 
2
今回、デモで使用しているデータについて
東京都の統計住民基本台帳による東京都の世帯と人口 
今回のデータ引用元 
http://www.toukei.metro.tokyo.jp/juukiy/jy-index.htm
東京都が掲載しているデータは著作権の対象! 
必ず、「引用」する必要がる。 
引用とは権利者に無断で行われるもので、権利者は引用を拒否することはできない 
http://www.metro.tokyo.jp/SUB/copyright.htm
東京都の統計データはオープンデータではない! 
オープンデータの定義 
特定のデータが、一切の著作権、特許などの制御メカニズムの制限なしで、全ての 
人が望むように利用・再掲載できるような形で入手できるべきであるというアイデア 
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3 
%83%87%E3%83%BC%E3%82%BF
デモサイト 
住民基本台帳による東京都23区の平均年齢、人口密度、人口の分布 
http://ticklecode.com/present/140907_js_autumn_festival_d3js/
D3.js 
公式サイト: http://d3js.org/
D3.js Browser Support 
http://caniuse.com/#search=svg 
SVGが前提となる
D3.jsのライセンス 
BSDライセンスが定めることは、「無保障」かつ「免責」であることを宣言 
すること、著作権表示を消さないこと 
http://ja.wikipedia.org/wiki/BSD%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B 
3%E3%82%B9 
http://opensource.org/licenses/BSD-3-Clause
D3.js 概要 
Data Driven Documents 
Data ・・・json、XML、csv 
Driven ・・・運転する、動かす→ データ駆動型 
Documents ・・・HTML、SVG、DOM
Data(JSON、XML、CSV) 
Documents(SVG) 
Driven 
データの動きに合わせて、SVGを出力。 
Bind(関連付け)を行う。 
D3.js の基本的な流れ
Data Driven (データ駆動型)なので・・・ 
Ex. Data を2001年⇒ 2014年へ変更すると
Data Bind (連動)しているので、 
プログラムの修正なしに・・・
Documents 2001年⇒ 2014年のグラフに変わる
D3.js を理解する上で、必要な基本要素 
1.メソッドチェーン 
2.スケール(縮尺) 
3.Dataメソッド
1.メソッドチェーン 
jQuery とよく似ていて、D3.jsでは多用される。 
前回のメソッドの結果が、次のメッソッドの入力値になる。 
textタグを選択 
データセット 
追加分の取り出し 
textタグを追加 
text(文字)を設定 
x座標の指定 
y座標の指定
2.スケール(縮尺) 
実データの分布を、実際の描画位置にマッピングする。 
domain:入力データ 
Min:39.20 Max:45.73 
range:出力域 
Min:20 
Max:800 
Ex. 平均年齢の場合
スケール(縮尺)の例 
domain:入力データの最小値、最大値を指定 
d3.min で、データの最小値を取得、 
d3.max で、データの最大値を取得できる! 
range:出力領域の最小値、最大値を指定
3.Dataメソッド 
データを保存して、1つずつ取り出しができるようにする
svg.selectAll(“circle”) 
.data(dataset) 
・・・・ 
__data__ へデータが保存されている
取り出したデータは、メソッドチェーン内ではd で利用できる。 
入力データを取得して、演算(function)して、グラフに表示することが 
できるので、複雑なグラフ描画も行える。
まとめ
・理解するまで学習コストがかかる。 
→簡単なグラフならjqPlotプラグイン、 
Google Charts API のほうが制作が早い。 
・1ずつのデータに対して、演算(function)できるので 
かなり高度なビジュアルが行える 
・他のjsライブラリとの組み合わせができる。 
→Three.js、TopoJSON(Map)など。
ご清聴ありがとうございました。

More Related Content

More from Yoshinori Kobayashi

勉強会、コミュニティの初まりと成長 Developers Summit 2017
勉強会、コミュニティの初まりと成長 Developers Summit 2017勉強会、コミュニティの初まりと成長 Developers Summit 2017
勉強会、コミュニティの初まりと成長 Developers Summit 2017Yoshinori Kobayashi
 
めざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6F
めざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6Fめざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6F
めざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6FYoshinori Kobayashi
 
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!Yoshinori Kobayashi
 
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!Yoshinori Kobayashi
 
第1次 CoEdo増床計画(小林目線)|コワーキングスペースCo-Edo 3周年記念パーティ
第1次 CoEdo増床計画(小林目線)|コワーキングスペースCo-Edo 3周年記念パーティ第1次 CoEdo増床計画(小林目線)|コワーキングスペースCo-Edo 3周年記念パーティ
第1次 CoEdo増床計画(小林目線)|コワーキングスペースCo-Edo 3周年記念パーティYoshinori Kobayashi
 
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015Yoshinori Kobayashi
 
勉強会を開催したことで起こったこと|#ブロフェス2015
勉強会を開催したことで起こったこと|#ブロフェス2015 勉強会を開催したことで起こったこと|#ブロフェス2015
勉強会を開催したことで起こったこと|#ブロフェス2015 Yoshinori Kobayashi
 
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...Yoshinori Kobayashi
 
個人の成長に合わせた、WordPress学習方法とコミュニティへの関わり方|WordBench山梨 Vol.1:WordBench山梨 はじめの一歩
個人の成長に合わせた、WordPress学習方法とコミュニティへの関わり方|WordBench山梨 Vol.1:WordBench山梨 はじめの一歩個人の成長に合わせた、WordPress学習方法とコミュニティへの関わり方|WordBench山梨 Vol.1:WordBench山梨 はじめの一歩
個人の成長に合わせた、WordPress学習方法とコミュニティへの関わり方|WordBench山梨 Vol.1:WordBench山梨 はじめの一歩Yoshinori Kobayashi
 
WordPressテンプレート階層を理解する。テーマカスタマイズに必要な5つのポイント!|WordPressもくもく勉強会 at コエド第6回
WordPressテンプレート階層を理解する。テーマカスタマイズに必要な5つのポイント!|WordPressもくもく勉強会 at コエド第6回WordPressテンプレート階層を理解する。テーマカスタマイズに必要な5つのポイント!|WordPressもくもく勉強会 at コエド第6回
WordPressテンプレート階層を理解する。テーマカスタマイズに必要な5つのポイント!|WordPressもくもく勉強会 at コエド第6回Yoshinori Kobayashi
 
WordPressで作る世界遺産サイト|Weather Underground Plugin を活用して、 世界の天気予報を表示 編|WordPress...
WordPressで作る世界遺産サイト|Weather Underground Plugin を活用して、 世界の天気予報を表示  編|WordPress...WordPressで作る世界遺産サイト|Weather Underground Plugin を活用して、 世界の天気予報を表示  編|WordPress...
WordPressで作る世界遺産サイト|Weather Underground Plugin を活用して、 世界の天気予報を表示 編|WordPress...Yoshinori Kobayashi
 
WordPressで作る世界遺産サイト|Youtube Data API を使って動画取得 編
WordPressで作る世界遺産サイト|Youtube Data API を使って動画取得 編WordPressで作る世界遺産サイト|Youtube Data API を使って動画取得 編
WordPressで作る世界遺産サイト|Youtube Data API を使って動画取得 編Yoshinori Kobayashi
 
WordPressで作る世界遺産サイト|Instagram API を使って現地フォト取得
WordPressで作る世界遺産サイト|Instagram API を使って現地フォト取得 WordPressで作る世界遺産サイト|Instagram API を使って現地フォト取得
WordPressで作る世界遺産サイト|Instagram API を使って現地フォト取得 Yoshinori Kobayashi
 
WordPressもくもく勉強会について― WordPressもくもく倶楽部 at コワーキングスペース 茅場町 Co-Edo
WordPressもくもく勉強会について― WordPressもくもく倶楽部 at コワーキングスペース 茅場町 Co-EdoWordPressもくもく勉強会について― WordPressもくもく倶楽部 at コワーキングスペース 茅場町 Co-Edo
WordPressもくもく勉強会について― WordPressもくもく倶楽部 at コワーキングスペース 茅場町 Co-EdoYoshinori Kobayashi
 
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編Yoshinori Kobayashi
 
WordPressのテンプレートタグを理解する
WordPressのテンプレートタグを理解するWordPressのテンプレートタグを理解する
WordPressのテンプレートタグを理解するYoshinori Kobayashi
 
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会Yoshinori Kobayashi
 
Bootstrapを使って効率よくWordPressオリジナルテーマを作る
Bootstrapを使って効率よくWordPressオリジナルテーマを作るBootstrapを使って効率よくWordPressオリジナルテーマを作る
Bootstrapを使って効率よくWordPressオリジナルテーマを作るYoshinori Kobayashi
 
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...Yoshinori Kobayashi
 
SEO:Google構造化データ、リッチスニペットについて
SEO:Google構造化データ、リッチスニペットについてSEO:Google構造化データ、リッチスニペットについて
SEO:Google構造化データ、リッチスニペットについてYoshinori Kobayashi
 

More from Yoshinori Kobayashi (20)

勉強会、コミュニティの初まりと成長 Developers Summit 2017
勉強会、コミュニティの初まりと成長 Developers Summit 2017勉強会、コミュニティの初まりと成長 Developers Summit 2017
勉強会、コミュニティの初まりと成長 Developers Summit 2017
 
めざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6F
めざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6Fめざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6F
めざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6F
 
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
 
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
 
第1次 CoEdo増床計画(小林目線)|コワーキングスペースCo-Edo 3周年記念パーティ
第1次 CoEdo増床計画(小林目線)|コワーキングスペースCo-Edo 3周年記念パーティ第1次 CoEdo増床計画(小林目線)|コワーキングスペースCo-Edo 3周年記念パーティ
第1次 CoEdo増床計画(小林目線)|コワーキングスペースCo-Edo 3周年記念パーティ
 
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
 
勉強会を開催したことで起こったこと|#ブロフェス2015
勉強会を開催したことで起こったこと|#ブロフェス2015 勉強会を開催したことで起こったこと|#ブロフェス2015
勉強会を開催したことで起こったこと|#ブロフェス2015
 
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
 
個人の成長に合わせた、WordPress学習方法とコミュニティへの関わり方|WordBench山梨 Vol.1:WordBench山梨 はじめの一歩
個人の成長に合わせた、WordPress学習方法とコミュニティへの関わり方|WordBench山梨 Vol.1:WordBench山梨 はじめの一歩個人の成長に合わせた、WordPress学習方法とコミュニティへの関わり方|WordBench山梨 Vol.1:WordBench山梨 はじめの一歩
個人の成長に合わせた、WordPress学習方法とコミュニティへの関わり方|WordBench山梨 Vol.1:WordBench山梨 はじめの一歩
 
WordPressテンプレート階層を理解する。テーマカスタマイズに必要な5つのポイント!|WordPressもくもく勉強会 at コエド第6回
WordPressテンプレート階層を理解する。テーマカスタマイズに必要な5つのポイント!|WordPressもくもく勉強会 at コエド第6回WordPressテンプレート階層を理解する。テーマカスタマイズに必要な5つのポイント!|WordPressもくもく勉強会 at コエド第6回
WordPressテンプレート階層を理解する。テーマカスタマイズに必要な5つのポイント!|WordPressもくもく勉強会 at コエド第6回
 
WordPressで作る世界遺産サイト|Weather Underground Plugin を活用して、 世界の天気予報を表示 編|WordPress...
WordPressで作る世界遺産サイト|Weather Underground Plugin を活用して、 世界の天気予報を表示  編|WordPress...WordPressで作る世界遺産サイト|Weather Underground Plugin を活用して、 世界の天気予報を表示  編|WordPress...
WordPressで作る世界遺産サイト|Weather Underground Plugin を活用して、 世界の天気予報を表示 編|WordPress...
 
WordPressで作る世界遺産サイト|Youtube Data API を使って動画取得 編
WordPressで作る世界遺産サイト|Youtube Data API を使って動画取得 編WordPressで作る世界遺産サイト|Youtube Data API を使って動画取得 編
WordPressで作る世界遺産サイト|Youtube Data API を使って動画取得 編
 
WordPressで作る世界遺産サイト|Instagram API を使って現地フォト取得
WordPressで作る世界遺産サイト|Instagram API を使って現地フォト取得 WordPressで作る世界遺産サイト|Instagram API を使って現地フォト取得
WordPressで作る世界遺産サイト|Instagram API を使って現地フォト取得
 
WordPressもくもく勉強会について― WordPressもくもく倶楽部 at コワーキングスペース 茅場町 Co-Edo
WordPressもくもく勉強会について― WordPressもくもく倶楽部 at コワーキングスペース 茅場町 Co-EdoWordPressもくもく勉強会について― WordPressもくもく倶楽部 at コワーキングスペース 茅場町 Co-Edo
WordPressもくもく勉強会について― WordPressもくもく倶楽部 at コワーキングスペース 茅場町 Co-Edo
 
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
WordPressで作る世界遺産サイト|カスタムフィールドとカスタム投稿編
 
WordPressのテンプレートタグを理解する
WordPressのテンプレートタグを理解するWordPressのテンプレートタグを理解する
WordPressのテンプレートタグを理解する
 
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
 
Bootstrapを使って効率よくWordPressオリジナルテーマを作る
Bootstrapを使って効率よくWordPressオリジナルテーマを作るBootstrapを使って効率よくWordPressオリジナルテーマを作る
Bootstrapを使って効率よくWordPressオリジナルテーマを作る
 
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
 
SEO:Google構造化データ、リッチスニペットについて
SEO:Google構造化データ、リッチスニペットについてSEO:Google構造化データ、リッチスニペットについて
SEO:Google構造化データ、リッチスニペットについて
 

D3.jsでのデータビジュアライゼーション -人口統計データから使い方を学ぶ-

Editor's Notes

  1. 元のデータでは、jy14rd1000.xls