SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
オープンソースプロジェクト
E2D3のご紹介
たけうち ひでゆき
提 供
全ての人にデータ可視化技術を
自己紹介
● 株式会社ユーザベース
● チーフテクノロジスト (=CTØ)
/ イノベーション担当執行役員
● 技術特性: 広く浅く時々深く
パソコンが関わる事なら大体何でも好き
3
たけうち ひでゆき @chimerast
データ可視化
データ可視化の例
5
県ごとのコンビニ店舗数の可視化
データ可視化の必要性
● データドリブンな意思決定への需要の高まり
● 大きな(複雑なデータ)を素早く理解しなければならない
● データを人の目で知覚可能な形へと「可視化」する
● データビジュアライゼーションへの注目
6
最近データ可視化の流れ
ウェブブラウザの機能が増え表現力が上がってきた
ユーザの操作によるインタラクティブな表現の増加
いままでIE6,7,8がネックだった
報道にもデータ可視化の技術が使われるようになってきた
データジャーナリズム
報道機関各社にデータビジュアライズ専門の部署ができは
じめている
7
E2D3紹介
OSSプロジェクト「E2D3」
E2D3: Excel to D3.js http://e2d3.org/
GitHub: https://github.com/e2d3/
Officeストア にて配信中
Excel2013以上 もしくは ブラウザのOffice365上で動作
30人ぐらいの人がゆるく関わっています
現在絶賛開発中
9
プロジェクトのミッション
全ての人にデータ可視化技術を
データ可視化を作り上げるのはとても大変!
見かけたものをちょっと使ってみたいなと思っても
特にノンプラグラマには絶対無理
エンジニアが作ったデータ可視化のテンプレートに
Excelからデータを流し込めると良いのでは?
10
デモ
ユースケース
営業・コンサルタント
データを地図等にマッピング
収集したデータをインタラクティブに可視化
Webニュース記者・編集者
データジャーナリズム
読者にデータを触らせて気づかせる
12
E2D3の直近の開発予定
データ可視化テンプレートを簡単に公開・検索できる機能
現在はe2d3-contribレポジトリに追加すると公開
任意のGitHubのレポジトリ等を配信可能に
可視化されたデータを共有・利用できる機能
FacebookやTwitter等に可視化したデータをシェア
JS/CSS/データを塊としてExportしブログ等に追加
13
2015年5月末までの目標
commiter: 30人
visualization: 100個
海外進出(?)
14
E2D3でデータ可視化開発
E2D3の仕組み
Excel2013 および Office365 には、
HTMLとJavaScriptで作られたアプリを
追加する機能があるのでそれを利用
Apps for Office
https://msdn.microsoft.com/JA-JP/library/office/jj220060.aspx
JavaScript API for Office
https://msdn.microsoft.com/ja-jp/library/office/fp142185.aspx
16
Excelが無くても開発出来ます
ブラウザとエディタとnode.jsさえあればOK
将来的にはブラウザだけで開発したい
ファイルを保存すると勝手にブラウザの再読込がされる
LiveReload機能付き!
CoffeeScript, React(JSX)でも直接かけます!
実はD3.js使わずthree.jsつかったりもできる(IE11以上要)
17
開発を始める前に
インストールが必要なもの
node.js 0.10.x (https://nodejs.org/)
(近々0.12.xに移行します)
node.jsのインストール
Mac: nodebrew
Windows: nodist
http://qiita.com/Kackey/items/b41b11bcf1c0b0d76149
18
E2D3の準備
19
# プロジェクトのclone
git clone --recursive git@github.com:e2d3/e2d3.git
# プロジェクトディレクトリへの移動
cd e2d3
# サブモジュールの設定
git -C contrib checkout master
# 依存ライブラリのインストール
npm install
E2D3を起動してみる
起動したら
http://localhost:8000/index.html
にブラウザでアクセス
20
# プロジェクトの起動
npm start
初めてのE2D3データ可視化開発
ディレクトリの中身
main.js: メイン可視化プログラム
data.csv: サンプルデータ
main.css(オプション): スタイルシート
README.md: 一覧で表示する説明文
21
# contribディレクトリへの移動
cd contrib
# サンプルプログラムをコピー
cp -r barchart-javascript mychart
main.jsの構造
1行目: おまじない(RequireJSで読み込むモジュール)
INITIALIZATION: 一番初めとリサイズ時に呼ばれます
DATA_UPDATE: Excelでデータが更新される毎に呼ばれま
す
22
//# require=d3
<INITIALIZATION_BLOCK>
function update(data) {
<DATA_UPDATE_BLOCK>
}
チャートの出力先
root というグローバル変数に、DOMノードが設定されているの
でそこの中にチャートを描画してください
実際にはグローバル変数汚染はしてないですが簡易的な説明のために
グローバルとさせてください
23
var chart = d3.select(root).append('svg')
.attr('width', root.clientWidth)
.attr('height', root.clientHeight)
.append('g')
.attr('transform',
'translate(' + margin.left + ',' + margin.top + ')');
function update(data)の引数について
e2d3/src/lib/coffee/e2d3model.coffee
data: ChartDataTable (≒ String[][])
2次元配列。Excelの選択範囲もしくはdata.csvが丸ごと
入っている。
data.transpose(): 転置(行列の入れ替え)
data.toList(): ヘッダと値の配列
data.toMap(): ヘッダと値のマップ
data.toNested(): d3.jsのツリー構造データ
24
data.toList():
ChartDataKeyValueList
元データ(ChartDataTable):
a,b,c,d
1,2,3,4
5,6,7,8
返り値(toList()):
[
{ a:1, b:2, c:3, d:4 },
{ a:5, b:6, c:7, d:8 }
]
25
棒グラフ等の
一般的なチャートで
使います
data.toMap():
ChartDataKeyValueMap
元データ(ChartDataTable):
_,a,b,c
東京都,1,2,3
大阪府,4,5,6
返り値(toMap()):
{
東京都: { a:1, b:2, c:3 },
大阪府: { a:4, b:5, c:6 }
}
26
地図等の
キーのあるチャートで
使います
E2D3でデータ可視化を作る際の注意
良くあるD3.jsのサンプルはデータの更新を考慮していない
既存のコードを流用する場合は、初期化ブロックの最初や、
update()の最初で、前のSVGを削除する必要があるかもしれ
ません
d3.select(root).selectAll('*').remove();
27
Excelで動作確認する
ちょっとめんどくさいです。
参考: http://apps-office.pita-ri.jp/install-document.html
マニフェストファイルは“e2d3/e2d3.xml”を使用し、
SourceLocationを適宜node.jsで立ち上げたサーバを指すよ
うに書き換えてください
最悪E2D3のメンバが動作確認を行い適宜修正します
28
Visual Studioで開発する
Microsoftの松崎さんがE2D3をVisual Studioで開発する方
法を公開してくれています。
http://blogs.msdn.
com/b/tsmatsuz/archive/2015/04/07/e2d3-excel-and-d3-
js-app.aspx
node.jsが必要ないのでこちらの方が場合によっては簡単かも
29
E2D3にコントリビュートする
GitHubのe2d3/e2d3-contribに対してPull Requestを送信
マージされるとユーザアプリ上に表示されます
よくわからなかったら、作ったチャートをディレクトリごと圧縮して
送ってください(送り先調整中)
e2d3-contribにマージされるチャートは、
Apache 2.0 ライセンスとします
よくわからなかったらTwitterで#e2d3をつけてつぶやく
30
提 供
全ての人にデータ可視化技術を

Más contenido relacionado

Destacado

QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
FOSS4G_MEXT
 
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnightYahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo!デベロッパーネットワーク
 
E2D3 インストールガイド
E2D3 インストールガイドE2D3 インストールガイド
E2D3 インストールガイド
E2D3.org
 

Destacado (18)

E2D3 introduction
E2D3 introductionE2D3 introduction
E2D3 introduction
 
2015/08/24 第15回 HTML5+JS 勉強会【TechBuzz】資料「HTML5とデータ可視化とExcel」
2015/08/24 第15回 HTML5+JS 勉強会【TechBuzz】資料「HTML5とデータ可視化とExcel」 2015/08/24 第15回 HTML5+JS 勉強会【TechBuzz】資料「HTML5とデータ可視化とExcel」
2015/08/24 第15回 HTML5+JS 勉強会【TechBuzz】資料「HTML5とデータ可視化とExcel」
 
20160713E2D3Workshop
20160713E2D3Workshop20160713E2D3Workshop
20160713E2D3Workshop
 
E2D3のプレゼンしてきたatNVIDIA
E2D3のプレゼンしてきたatNVIDIAE2D3のプレゼンしてきたatNVIDIA
E2D3のプレゼンしてきたatNVIDIA
 
Foss4 gマイクロジオデータ解析入門
Foss4 gマイクロジオデータ解析入門Foss4 gマイクロジオデータ解析入門
Foss4 gマイクロジオデータ解析入門
 
データ可視化勉強会
データ可視化勉強会データ可視化勉強会
データ可視化勉強会
 
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
 
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
QGISセミナー初級 ~QGISの使い方・基礎編~ Ver. 2.4版
 
Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析
 
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnightPrestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnight
 
Presto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnightPresto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnight
 
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnightYahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
 
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法についてオープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
 
E2D3ハンズオン
E2D3ハンズオンE2D3ハンズオン
E2D3ハンズオン
 
E2D3 インストールガイド
E2D3 インストールガイドE2D3 インストールガイド
E2D3 インストールガイド
 
E2D3 ver. 0.2 開発の手順書
E2D3 ver. 0.2 開発の手順書E2D3 ver. 0.2 開発の手順書
E2D3 ver. 0.2 開発の手順書
 
E2D3に見るオープンイノベーション
E2D3に見るオープンイノベーションE2D3に見るオープンイノベーション
E2D3に見るオープンイノベーション
 
グラフ共有コミュニティー E2D3にみる "教育・共創・オープンテクノロジー"
グラフ共有コミュニティーE2D3にみる"教育・共創・オープンテクノロジー"グラフ共有コミュニティーE2D3にみる"教育・共創・オープンテクノロジー"
グラフ共有コミュニティー E2D3にみる "教育・共創・オープンテクノロジー"
 

Similar a オープンソースプロジェクト E2D3のご紹介

自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
Sapporo Sparkle k.k.
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)
Osamu Shimoda
 

Similar a オープンソースプロジェクト E2D3のご紹介 (20)

ビッグデータ
ビッグデータビッグデータ
ビッグデータ
 
先進事例に見るIoT活用の事始め~データサイエンスの観点から~
先進事例に見るIoT活用の事始め~データサイエンスの観点から~先進事例に見るIoT活用の事始め~データサイエンスの観点から~
先進事例に見るIoT活用の事始め~データサイエンスの観点から~
 
基調講演:「多様化する情報を支える技術」/西川徹
基調講演:「多様化する情報を支える技術」/西川徹基調講演:「多様化する情報を支える技術」/西川徹
基調講演:「多様化する情報を支える技術」/西川徹
 
もっとデータ可視化をカジュアルに! OSSプロジェクト「E2D3」
もっとデータ可視化をカジュアルに! OSSプロジェクト「E2D3」もっとデータ可視化をカジュアルに! OSSプロジェクト「E2D3」
もっとデータ可視化をカジュアルに! OSSプロジェクト「E2D3」
 
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
 
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)
 
モバイルデバイスによる Share point の有効活用を実現するためには
モバイルデバイスによる Share point の有効活用を実現するためにはモバイルデバイスによる Share point の有効活用を実現するためには
モバイルデバイスによる Share point の有効活用を実現するためには
 
ラズパイでIoTをやってみよう! | なぜ今IoTなのか?
ラズパイでIoTをやってみよう! | なぜ今IoTなのか?ラズパイでIoTをやってみよう! | なぜ今IoTなのか?
ラズパイでIoTをやってみよう! | なぜ今IoTなのか?
 
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
 
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
 
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
 
避けては通れないビッグデータ周辺の重要課題
避けては通れないビッグデータ周辺の重要課題避けては通れないビッグデータ周辺の重要課題
避けては通れないビッグデータ周辺の重要課題
 
LTEモバイルクラウドセミナ[講演2] R 20101124
LTEモバイルクラウドセミナ[講演2] R 20101124LTEモバイルクラウドセミナ[講演2] R 20101124
LTEモバイルクラウドセミナ[講演2] R 20101124
 
クラウド座談会資料
クラウド座談会資料クラウド座談会資料
クラウド座談会資料
 
ビッグデータ時代にむけて/濱田 正彦
ビッグデータ時代にむけて/濱田 正彦ビッグデータ時代にむけて/濱田 正彦
ビッグデータ時代にむけて/濱田 正彦
 
YakoCloud presen 141213
YakoCloud presen 141213YakoCloud presen 141213
YakoCloud presen 141213
 
Smart Store Map
Smart Store MapSmart Store Map
Smart Store Map
 
LiBRA 12.2020 / クラウド
LiBRA 12.2020 / クラウドLiBRA 12.2020 / クラウド
LiBRA 12.2020 / クラウド
 
LiBRA 11.2020 / クラウド
LiBRA 11.2020 / クラウドLiBRA 11.2020 / クラウド
LiBRA 11.2020 / クラウド
 

Más de Hideyuki Takeuchi

Real-Time 3D Programming in Scala
Real-Time 3D Programming in ScalaReal-Time 3D Programming in Scala
Real-Time 3D Programming in Scala
Hideyuki Takeuchi
 

Más de Hideyuki Takeuchi (7)

SPEEDA/NewsPicksを支える価値を生み出す技術の選定手法
SPEEDA/NewsPicksを支える価値を生み出す技術の選定手法SPEEDA/NewsPicksを支える価値を生み出す技術の選定手法
SPEEDA/NewsPicksを支える価値を生み出す技術の選定手法
 
とあるCTØの切込隊長日誌(スタートアップ) ビジネス篇
とあるCTØの切込隊長日誌(スタートアップ) ビジネス篇とあるCTØの切込隊長日誌(スタートアップ) ビジネス篇
とあるCTØの切込隊長日誌(スタートアップ) ビジネス篇
 
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
 
Reactive Programming
Reactive ProgrammingReactive Programming
Reactive Programming
 
ScalaCL in ScalaKaigi
ScalaCL in ScalaKaigiScalaCL in ScalaKaigi
ScalaCL in ScalaKaigi
 
Real-Time 3D Programming in Scala
Real-Time 3D Programming in ScalaReal-Time 3D Programming in Scala
Real-Time 3D Programming in Scala
 
Communication between Wicket and Flex
Communication between Wicket and FlexCommunication between Wicket and Flex
Communication between Wicket and Flex
 

オープンソースプロジェクト E2D3のご紹介