Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
前端網頁資料視覺化設計
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
tkirby
December 22, 2015
Technology
1
580
前端網頁資料視覺化設計
前端網頁資料視覺化設計 / 分享於現代化網站技術分享日
tkirby
December 22, 2015
Tweet
Share
More Decks by tkirby
See All by tkirby
Theory of Graphical Perception
tkirby
0
610
Open Refine Course
tkirby
0
250
Language Reference
tkirby
0
120
新聞記者的程式設計第一課
tkirby
0
590
Visualization over Web
tkirby
0
150
迎戰壞資料 @ dbootcamp Taipei
tkirby
0
800
Rasterize D3.js
tkirby
7
1.8k
SVG + D3.JS Course Slide
tkirby
0
270
資料新聞學手冊導讀
tkirby
0
310
Other Decks in Technology
See All in Technology
ブラックボックス観測に基づくAI支援のプロトコルのリバースエンジニアリングと再現~AIを用いたリバースエンジニアリング~ @ SECCON 14 電脳会議 / Reverse Engineering and Reproduction of an AI-Assisted Protocol Based on Black-Box Observation @ SECCON 14 DENNO-KAIGI
chibiegg
0
140
JAWS DAYS 2026 CDP道場 事前説明会 / JAWS DAYS 2026 CDP Dojo briefing document
naospon
0
140
「ヒットする」+「近い」を同時にかなえるスマートサジェストの作り方.pdf
nakasho
0
110
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
360
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
820
型を書かないRuby開発への挑戦
riseshia
0
180
Databricksアシスタントが自分で考えて動く時代に! エージェントモード体験もくもく会
taka_aki
0
320
パネルディスカッション資料 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
1.1k
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
1.6k
オンプレとGoogle Cloudを安全に繋ぐための、セキュア通信の勘所
waiwai2111
3
1.1k
LINEアプリ開発のための Claude Code活用基盤の構築
lycorptech_jp
PRO
2
1.4k
AIに視覚を与えモバイルアプリケーション開発をより円滑に行う
lycorptech_jp
PRO
1
790
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
340
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
200
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Site-Speed That Sticks
csswizardry
13
1.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
140
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Into the Great Unknown - MozCon
thekraken
40
2.3k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
240
Accessibility Awareness
sabderemane
0
73
The Cult of Friendly URLs
andyhume
79
6.8k
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