Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
前端網頁資料視覺化設計
Search
tkirby
December 22, 2015
Technology
650
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
前端網頁資料視覺化設計
前端網頁資料視覺化設計 / 分享於現代化網站技術分享日
tkirby
December 22, 2015
More Decks by tkirby
See All by tkirby
Theory of Graphical Perception
tkirby
0
690
Open Refine Course
tkirby
0
330
Language Reference
tkirby
0
150
新聞記者的程式設計第一課
tkirby
0
630
Visualization over Web
tkirby
0
180
迎戰壞資料 @ dbootcamp Taipei
tkirby
0
870
Rasterize D3.js
tkirby
7
1.8k
SVG + D3.JS Course Slide
tkirby
0
290
資料新聞學手冊導讀
tkirby
0
350
Other Decks in Technology
See All in Technology
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
4
1.8k
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
0
270
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
310
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
560
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
120
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
2
3.9k
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
1
640
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
Incremental HTTP
kazuho
5
2.1k
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
0
120
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.2k
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
4
1.1k
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Building Adaptive Systems
keathley
44
3.2k
Amusing Abliteration
ianozsvald
1
330
How GitHub (no longer) Works
holman
316
150k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
The SEO identity crisis: Don't let AI make you average
varn
0
580
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
Optimizing for Happiness
mojombo
378
71k
エンジニアに許された特別な時間の終わり
watany
109
250k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
250
Transcript
網⾴頁前端視覺化技術 infographics.tw
None
None
None
Nigel Holmes TIME Magazine
$IBSU+VOL%FCBUF &EXBSE5VGUF JO7%2* 「凡對讀者的智⼒力抱著懷疑態度來對待的⼈人, 也無法寫出像樣的作品。」 「如果統計數字枯燥乏味的話, 那你肯定弄錯了數字」 IJUF
$IBSU+VOL%FCBUF &EXBSE5VGUF JO7%2* %BUB*OL3BUJP *OLPG%BUB 5PUBM*OL6TFE
None
None
None
None
1854 1858 1869
http://www.nytimes.com/interactive/2015/03/19/upshot/3d-yield-curve-economic-growth.html?_r=0
data = [1,2,3,4,5,6,7,8]
data = [1,2,3,4,5,6,7,8] <div style=“width:100px”></div> <div style=“width:200px”></div> <div style=“width:300px”></div> <div
style=“width:800px”></div> …..
2011 Mike Bostock
TA G DATA +
data = [1,2,3,4,5,6,7,8]
data = [1,2,3,4,5,6,7,8] d3.select(“#root”) .selectAll(“div”) .data(data)
data = [1,2,3,4,5,6,7,8] enter() exit() d3.select(“#root”) .selectAll(“div”) .data(data)
data = [1,2,3,4,5,6,7,8] enter() exit() d3.select(“#root”) .selectAll(“div”) .data(data) append remove
data = [1,2,3,4,5,6,7,8] d3.select(“div:nth-of-type(5)”) .text(function(v) { return v; });
d3.select(“#root”) .selectAll(“div”) .style({ “width”: function(v) { return v + “px”;
}}) .attr({ … }); Dynamic Property
None
None
MathML
MathML X3D
MathML X3D SMIL
MathML X3D SMIL Document Agnostic
http://zbryikt.github.io/visualize/banana/ Banana in X3D
Transition d3.select(“#root”) .selectAll(“div”) .transition() .duration(1000) .style({ “width”: function(v) { return
v + “px”; }});
http://bl.ocks.org/mbostock/1256572 D3 Show Reel
None
http://bl.ocks.org/infographicstw/raw/122779b04901c4ffa455/5.html Play with Force Layout
None
None
Processing 2001, MIT Media Lab. Simplified Java
Processing 2001, MIT Media Lab. Simplified Java Processing.js p5.js
d3.select(“#root”) .selectAll(“div”) .data(d) .enter() .append(“div”) .style({ width: function(v) { return
v+”px”; }, height: “10px” } ); <div id=“root”></div> function draw() { for(i in d) { rect(0,i*10, d[i],(i+1)*10); } } d3.js p5.js
d3.select(“#root”) .selectAll(“div”) .data(d) .enter() .append(“div”) .style({ width: function(v) { return
v+”px”; }, height: “10px” } ); <div id=“root”></div> function draw() { for(i in d) { rect(0,i*10, d[i],(i+1)*10); } } d3.js p5.js CSS Selector HTML CSS D3.js
d3.select(“#root”) .selectAll(“div”) .data(d) .enter() .append(“div”) .style({ width: function(v) { return
v+”px”; }, height: “10px” } ); <div id=“root”></div> function draw() { for(i in d) { rect(0,i*10, d[i],(i+1)*10); } } d3.js p5.js draw in draw rect by rect
But….. Performance?
p5.js
2D webGL renderer with canvas fallback
D3.js Pixi.js
快 易 強 難 慢 弱 ? d3.js p5.js pixi.js
PathGL
PathGL
PathGL
Rasterize D3.js D3.js HTML SVG X3D CUSTOM CANVAS SVG 3D
CANVAS WEBGL CA NV AS CANVAS DATA BINDING INTERFACE IMPLEMENTATION CSS 3D CA NV AS PHANTOMJS or NATIVE PORTING SERVER SIDE
D3 + Canvas ? D3 + NodeJS ? D3 +
ReactJS ? D3 + WebWorker ?
TO BE CONTINUE …
Let’s Talk about Responsive
None
Large in Size Low Quality
Small in Size High Quality
w (x1,y1) <svg width=“w” height=“h” viewBox=“x1 y1 x2 y1”> h
(x2,y2)
(x1,y1) (x2,y2) w h
preserveAspectRatio xMin xMid xMax yMin yMid yMax
preserveAspectRatio=“xMidYMid” xMin xMid xMax yMin yMid yMax
None
None
None
http://www.nytimes.com/interactive/2015/06/17/world/middleeast/map-isis-attacks-around-the-world.html?smid=tw-nytimes&_r=1
None
None
None
(x1,y1) (x2,y2) w h x scale y scale
d3.scale.linear() data 0~10 scale coord 0~w
d3.svg.axis().tick(w/k)
07/2015, Nadieh @ Visual Cinnamon
None
None
None
None
None
None
http://www.foundi.info/lab/badneighbor/
總結 • 整體原則與 RWD 相同 • 考慮圖⽂文搭配的閱讀體驗 • 彈性處理圖表本⾝身的尺⼨寸 •
可以簡化的資料應統⼀一簡化,沒有平台差異 • 不適合簡化的資料,再考慮分裝置處理 • 永遠考慮更簡潔的表現形式
Visualization without Web
2015.09 shown by Republican to the congress to refund Planned
Parenthood
proposed actually 2015.09 shown by Republican to the congress to
refund Planned Parenthood
http://guns.periscopic.com/
( 2007 Proc. InfoViz )
None
None
None
None
w w <canvas width=“w” height=“h” style=“width:wpx;height:hpx”> h h