SlideShare a Scribd company logo
Advanced Tech Night No.07
D3.jsと学ぶ
Visualization(可視化)の世界
2013/08/30
Acroquest Technology 株式会社
白井 智子
自己紹介
 白井智子です。
 新人です。
 ビッグデータ向け監視システムの
開発をやってます。
 趣味:デザイン、写真、
音楽 (鑑賞・演奏)
 Facebook: Satoko Shiroi
 Twitter: @white_luc
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2
自己紹介
 出身校:筑波大学大学院
 可視化の研究をしていました!
 昨年、フランスの学会にも参加してきました!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3
学生の時に作った可視化ツール
音楽データの
可視化
時間情報を持つ
データの可視化
つまり。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4
せっかく
可視化の勉強を
していたので
話をさせてもらう
ことになりました!
今日のアジェンダ
1. 可視化の基礎
2. Information Visualization
3. D3.js
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
5
『可視化』って?
6
一目見て
何となく分かる
7
簡単に言えば、
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
8
百聞は
一見にしかず
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
9
1. 可視化の基礎
1-1. 2つの可視化
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
10
科学的可視化 情報可視化
利用者 専門家 あらゆる人
利用目的 科学的現象の解明 検索・関連の発見
対象データ 物理的データ・測定結果・シミュ
レーション結果
関係などの抽象的データ
(ex. プログラム・Web・ファイ
ル構造)
その他 インタラクションが重要
参考:xight.org 情報視覚化
http://iv.xight.org/
こっちをやります。
1-1. 2つの可視化
参考)科学的可視化の例
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
11
直径約40mの水槽とその
壁にあるセンサーで
ニュートリノを観測、
可視化
スーパーカミオカンデ
1-2. 可視化の概念
可視化技術を作るときに最も重要とされる考え方
「データ分析のためのマントラ」
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
12
Over view first, zoom and filter,
then details-on-demand
① まずは、概観を見る。
② 徐々にズームして、フィルタリングしながらデ
ータを分析し、
③ そのあとは、必要に応じて詳細な分析をする。
※米国メリーランド州立大学の教授 Ben Shneidermanによる提唱
1-2. 可視化の概念
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
13
例)The Internet map(http://internet-map.net/ )
世界のサイトのトラフィックを可視化
概観
1-2. 可視化の概念
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
14
詳細
政治経済学者
William Playfair (1759-1823)
200年以上前に最初のグラフを作る。
1-3. 可視化の歴史
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
15
1-3. 可視化の歴史
現代のグラフの始祖
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
16
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
17
2. Information Visualization
2-1. 一般的なグラフ
基本的なグラフが整理される。
棒グラフ、線グラフ、円グラフ…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
18
2-2. Information Visualization
色、形、大きさを人がどう感じるかが整理される。
※Jacques Bertin(1919~2010)
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
19
2-3. 現代のInformation Visualization
CGの時代へ
⇒数値データだけでなく、構造や関連性も表現
できるようになる
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
20
ツリーマップ パラレルコーディネート
2-3. 現代のInformation Visualization
3Dやアニメ―ションも可視化の手法に
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
21
The cone tree is a 3d conical representation of a hierarchy.
[Copyright © by the Association for Computing Machinery, Inc.]
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
22
と、ここまでが
一回目の流行期
でした(!?)
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
23
今、世の中で、
何が
起こっているのか?
24
2-4. 情報大爆発(ビッグデータ時代)
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
25
1. Webが発展し、データがグローバルに!
2. ストレージが巨大化
⇒ビッグデータが流行!
3. 可視化システムが研究レベルから
企業/一般レベルに!
4. 「可視化」の技術がビジネスとして
注目されるようになってきた!
2-5. 可視化技術の普及&向上
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
26
表現力のUP!
ライブラリの充実!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
27
可視化の
第二期流行時代へ
突入!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
28
3. D3.js
3-1.D3.js
1. 複雑なデータ可視化も簡潔に記述できる
JavaScriptライブラリ
① データに基づいてHTMLドキュメントを操作する
⇒簡単にかっこいい可視化ができる!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
29
3-1.D3.js
サンプルが充実している!
参考)D3 Gallery
( https://github.com/mbostock/d3/wiki/Gallery )
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
30
3-1.D3.js
D3.jsでは、描画用のレイアウトが充実している!
( https://github.com/mbostock/d3/wiki/Layouts )
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
31
3-1.D3.js
こんな図が簡単に描けます!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
32
3-2.適切な図の選び方
データの構造で分類する。
① 階層のみのデータ
② 階層+量のデータ
③ 関係性データ
④ 単純な数値データ
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
33
3-2.適切な図の選び方
階層のみのデータだったら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
34
Tree Cluster
3-2.適切な図の選び方
階層+量のデータだったら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
35
Treemap Partition
Pack
3-2 .適切な図の選び方
関係性データだったら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
36
Force Chord
Bundle
3-2 .適切な図の選び方
単純な数値データだったら…
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
37
Pie
Stack
Pack
もしくは普通のグラフで
棒グラフや折れ線グラフな
どで描く。
3-3.D3.jsの使い方
1. 描画先の選択
2. データの準備
3. D3へのセット⇒座標計算
4. 座標を元に描画
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
38
3-3.D3.jsの使い方
サンプルとして、新人の友好関係を可視化します。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
39
3-3 .D3.jsの使い方
1. 描画先の選択
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
40
// 描画する場所を選択し、キャンバスを用意する
window.addEventListener("load", function(){
var svg = d3.select("#layout12")
.append("svg")
.attr("viewBox", "-100,-100,200,200");
3-3 .D3.jsの使い方
2. データの準備
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
41
// データを準備する(ここでは配列)
var dataArr = [
[ 2, 6, 7, 5, 5, 4, 4],
[ 9, 3, 9, 6, 5, 4, 6],
[ 10, 4, 0, 6, 10, 6, 8],
[ 4, 4, 6, 10, 5, 5, 3],
[ 4, 5, 6, 3, 10, 7, 6],
[ 5, 5, 5, 2, 7, 9, 4],
[ 9, 8, 10, 8, 9, 8, 8]
];
3-3 .D3.jsの使い方
3. D3へセット
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
42
// 色、レイアウトを選択
var color = ["#FF0022", "#FF5500", "#0022FF",
"#00FF40", "#E1E100", "#00FFC6", "#8080FF"];
var chord = d3.layout.chord()
.padding(0.1)
.matrix(dataArr);
3-3 .D3.jsの使い方
4. 座標を元に描画
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
43
//グループ
svg.selectAll("path.groups")
.data(chord.groups)
.enter().append("path")
.style("fill", function(d) {
return color[d.index]; })
.style("stroke", function(d) {
return color[d.index]; })
.attr("d", d3.svg.arc().innerRadius(90)
.outerRadius(100));
3-3 .D3.jsの使い方
4. 座標を元に描画
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
44
//相関
svg.selectAll("path.chord")
.data(chord.chords)
.enter().append("path")
.style("fill", function(d) {
return color[d.source.index]; })
.attr("d", d3.svg.chord().radius(90))
.style("opacity", 0.5);
3-4.サンプルデモ
1. では動かしてみましょう!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
45
まとめ
1. 可視化とは?
① データを分析し、知識獲得するための手法
2. 現在の可視化の流行について
① 情報大爆発の時代に入り、表現力が向上。
② さらに、可視化ライブラリも増加。
3. D3.jsの魅力について
① 一見難しそうな可視化も、気軽に作成することがで
きる。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
46
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
47
ご清聴有難うございました。
Infrastructures Evolution

More Related Content

PDF
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
PDF
CSSだけで実現するグラフィック表現
PDF
D3.js と SVG によるデータビジュアライゼーション
PDF
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
PDF
データ可視化勉強会
PDF
インフォグラフィックス時代のD3.js入門
PDF
AngularJSでデータビジュアライゼーションがしたい
PDF
サイバーセキュリティ錬金術 - ノイズから価値あるデータを生成する技術 -
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
CSSだけで実現するグラフィック表現
D3.js と SVG によるデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
データ可視化勉強会
インフォグラフィックス時代のD3.js入門
AngularJSでデータビジュアライゼーションがしたい
サイバーセキュリティ錬金術 - ノイズから価値あるデータを生成する技術 -

What's hot (19)

PPTX
IaaS を活用した 情報セキュリティ演習環境の設計と実装
PDF
Aaなゲームをjsで
PDF
20130629 linkdraw
PDF
React で CSS カプセル化の可能性を考える
PDF
Elasticsearch勉強会#44 20210624
PDF
データビジュアライゼーションの作り方
PPTX
Leaflet初級編 - Web地図サイトを構築してみよう-
PPTX
コキュートスSwest19
PDF
Native x Webでいいとこどり開発 ~ピグトーク~
PDF
Gtug girls-20140828
PDF
d3jsハンズオン @E2D3ハッカソン
PDF
物理エンジンを使って 3Dに息を吹き込む
PDF
CAジャーナルクラブ Dremel: Interactive Analysis of Web-Scale Datasets
PPTX
EWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩く
PPTX
Reladomo入門 JJUGナイトセミナー #jjug
PDF
OpenCVとARCoreで作るスタンプAR in 宮崎
PDF
HTML5のCanvas入門 - Img画像を編集してみよう -
PDF
Miyazaki.js vol.2
PDF
[初音ミク] Kinesis でフリーザを撃て!
IaaS を活用した 情報セキュリティ演習環境の設計と実装
Aaなゲームをjsで
20130629 linkdraw
React で CSS カプセル化の可能性を考える
Elasticsearch勉強会#44 20210624
データビジュアライゼーションの作り方
Leaflet初級編 - Web地図サイトを構築してみよう-
コキュートスSwest19
Native x Webでいいとこどり開発 ~ピグトーク~
Gtug girls-20140828
d3jsハンズオン @E2D3ハッカソン
物理エンジンを使って 3Dに息を吹き込む
CAジャーナルクラブ Dremel: Interactive Analysis of Web-Scale Datasets
EWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩く
Reladomo入門 JJUGナイトセミナー #jjug
OpenCVとARCoreで作るスタンプAR in 宮崎
HTML5のCanvas入門 - Img画像を編集してみよう -
Miyazaki.js vol.2
[初音ミク] Kinesis でフリーザを撃て!
Ad

Similar to D3.jsと学ぶVisualization(可視化)の世界 (20)

PDF
Trajectory_採用Deck202311
PDF
リクルート式 自然言語処理技術の適応事例紹介
PPTX
2016年2月4日 空間OSのためのビッグデータ技術基盤
PDF
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
PDF
3Dリッチコンテンツビジネス活用のご提案ver3.1
PDF
リクルートにおける画像解析事例紹介
PDF
SORACOM S+Cameraを利用して在庫チェックをやってみた
PPTX
石造物3Dアーカイブプロジェクト―その手法と可能性―
PPTX
3Dリッチコンテンツビジネス活用のご提案ver3.1
PPTX
3Dリッチコンテンツビジネス活用のご提案ver3.1
PDF
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
PDF
SIerからみたHyperledger Fabric
PPTX
Open licensing for 3D CG data
PDF
Open Campus 20170820
PDF
JAWS-UG東京 - 2019-09-26 - Gateway祭
PDF
PWA+WebARをECサイトで使ってみたい
PDF
Towards Total Recall in Industrial Anomaly Detection
PPTX
ITフォーラム2020 AITC(3)
PDF
【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...
PPTX
【卒業論文】深層生成モデルを用いたユーザ意図に基づく衣服画像の生成に関する研究
Trajectory_採用Deck202311
リクルート式 自然言語処理技術の適応事例紹介
2016年2月4日 空間OSのためのビッグデータ技術基盤
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
3Dリッチコンテンツビジネス活用のご提案ver3.1
リクルートにおける画像解析事例紹介
SORACOM S+Cameraを利用して在庫チェックをやってみた
石造物3Dアーカイブプロジェクト―その手法と可能性―
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
SIerからみたHyperledger Fabric
Open licensing for 3D CG data
Open Campus 20170820
JAWS-UG東京 - 2019-09-26 - Gateway祭
PWA+WebARをECサイトで使ってみたい
Towards Total Recall in Industrial Anomaly Detection
ITフォーラム2020 AITC(3)
【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...
【卒業論文】深層生成モデルを用いたユーザ意図に基づく衣服画像の生成に関する研究
Ad

More from AdvancedTechNight (19)

PDF
CSS3Rendererを使ってiOSでもサクサク3D
PDF
これから利用拡大?WebSocket
PDF
全部入り!WGPで高速JavaScript+HML5体験
PDF
Backbone.js入門
PDF
TypeScriptのススメ ~JavaエンジニアのためのJava(like)Script
PDF
three.jsで作る3Dの世界
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
PDF
Stormの注目の新機能TridentAPI
PDF
Spine入門
PDF
分散ストリーム処理フレームワーク Apache S4
PDF
Twitterのリアルタイム分散処理システム「Storm」入門 demo
PDF
Twitterのリアルタイム分散処理システム「Storm」入門
PDF
ログ収集フレームワークの新バージョン「FlumeNG」
PPTX
Hadoop scr第7回 hw2011フィードバック
PPTX
ななめ45°から見たJavaOne
PPTX
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
PPTX
ATN No.1 Hadoop vs Amazon EMR
PDF
ATN No.2 大阪から来たJavaPuzzlers
PDF
ATN No.2 Scala事始め
CSS3Rendererを使ってiOSでもサクサク3D
これから利用拡大?WebSocket
全部入り!WGPで高速JavaScript+HML5体験
Backbone.js入門
TypeScriptのススメ ~JavaエンジニアのためのJava(like)Script
three.jsで作る3Dの世界
単なるキャッシュじゃないよ!?infinispanの紹介
Stormの注目の新機能TridentAPI
Spine入門
分散ストリーム処理フレームワーク Apache S4
Twitterのリアルタイム分散処理システム「Storm」入門 demo
Twitterのリアルタイム分散処理システム「Storm」入門
ログ収集フレームワークの新バージョン「FlumeNG」
Hadoop scr第7回 hw2011フィードバック
ななめ45°から見たJavaOne
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 Hadoop vs Amazon EMR
ATN No.2 大阪から来たJavaPuzzlers
ATN No.2 Scala事始め

D3.jsと学ぶVisualization(可視化)の世界