Upgrade to Pro — share decks privately, control downloads, hide ads and more …

前端網頁資料視覺化設計

tkirby
December 22, 2015

 前端網頁資料視覺化設計

前端網頁資料視覺化設計 / 分享於現代化網站技術分享日

tkirby

December 22, 2015
Tweet

More Decks by tkirby

Other Decks in Technology

Transcript

  1. 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
  2. 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
  3. 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
  4. 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
  5. D3 + Canvas ? D3 + NodeJS ? D3 +

    ReactJS ? D3 + WebWorker ?
  6. 總結 • 整體原則與 RWD 相同 • 考慮圖⽂文搭配的閱讀體驗 • 彈性處理圖表本⾝身的尺⼨寸 •

    可以簡化的資料應統⼀一簡化,沒有平台差異 • 不適合簡化的資料,再考慮分裝置處理 • 永遠考慮更簡潔的表現形式