D3,最受歡迎的前端資料視覺化庫
第一個瀏覽器只能渲染靜態頁面,所謂互動性僅限於單擊連結。1996年,Netscape在瀏覽器中內建了JavaScript直譯器,從而讓瀏覽器在載入頁面時,能夠解釋執行這門指令碼語言編寫的程式碼。
這個舉措並沒有它後來引發的鉅變那麼驚心動魄,但卻讓瀏覽器從被動的顯示,進入了互動線上處理動態畫面的新時代。這一歷史性轉變成就了我們今天的頁面內互動的Web。如果沒有JavaScript,就不會有D3,而基於Web的資料視覺化也只能侷限於提前生成好的、不具備響應能力的GIF圖。(噢……謝謝,Netscape!)
歷史的車輪前進到了2005年,這一年Jeffrey Heer、Stuart Card和James Landay推出prefuse(http://prefuse.org/),一個通過Web呈現的資料視覺化工具包。prefuse(字母全部小寫)是用Java寫的,那是一種編譯型語言,而且視覺化程式要在瀏覽器中通過Java外掛執行。(注意,Java和JavaScript是完全不一樣的語言,儘管名字上類似。)prefuse是當時一個突破性的應用,它首次讓沒有多少經驗的程式設計人員,能夠實現基於Web的視覺化展示。有了prefuse之後,Web上的資料視覺化就成了小事一樁。
兩年後,Jeff Heer又推出了Flare(http://flare.prefuse.org/)。這是一個類似的工具包,程式語言是ActionScript,就是說可以通過瀏覽器中的Flash Player來檢視視覺化結果。與prefuse類似,Flare也依賴瀏覽器外掛。Flare雖然是一個巨大的進步,但隨著瀏覽器的發展,視覺化顯然不通過外掛(而只利用瀏覽器原生特性)也能實現了。
2009年,Jeff Heer搬到史丹佛。在那裡,他說服一位剛畢業的學生Mike Bostock,共同在史丹佛的Vis Group(http://vis.stanford.edu/)開發了Protovis(http://mbostock.github.io/d3/tutorial/protovis.html),那是一個基於JavaScript的視覺化工具包,只依賴原生的瀏覽器技術。(如果你用過Protovis,一定要參考Mike的這篇“For Protovis Users”,網址:http://mbostock.github.com/d3/tutorial/protovis.html。)
Protovis簡化了生成視覺化圖形的工作,即使是沒有程式設計經驗的人都可以上手。但它要藉助一個抽象的表現層,儘管設計師可以使用Protovis語法來控制這一層,可除錯很不方便,因為使用的不是標準方法。
2011年,Mike Bostock、Vadim Ogievetsky和Jeff Heer正式推出D3(http://vis.stanford.edu/papers/d3),作為下一代Web視覺化工具。與Protovis不同的是,D3直接操作網頁文件。因此,除錯就方便了,嘗試不同的方案也更容易,而且展示視覺效果的可能性也更多了。唯一的缺點是學習門檻有點高,不過本書會盡可能解決這個問題。此外,你通過學習D3掌握的所有技術,即使在資料視覺化這個領域之外,也將是非常有用的。
無論你熟悉上面提到的任何一個突破性的工具,一定都會認可D3純正的血統。如果你對D3底層的設計思想感興趣,強烈建議你看一看Mike、Vadim和Jeff在InfoVis上發表的論文“D3 : Data-Driven Documents”(http://vis.stanford.edu/files/2011-D3-InfoVis.pdf),其中清晰地分析了這種工具的必要性。這篇論文濃縮了他們在學習和開發視覺化工具幾年間的心血。
相關文章
- 15 種最受歡迎的資料視覺化流程圖及模板視覺化流程圖
- 最受歡迎的 NoSQL 和關係型資料庫SQL資料庫
- 最受開發者歡迎的HTAP資料庫PostgreSQL10特性資料庫SQL
- 墨天輪最受DBA歡迎的資料庫技術文件-SQL優化篇資料庫SQL優化
- 恆訊科技分析:哪些是跨境電商最受歡迎的資料庫?資料庫
- 前端資料視覺化庫大搜羅前端視覺化
- 視覺化的三大誤區,哪些視覺化工具受歡迎?視覺化
- 大資料視覺化服務平臺Davinci上榜2019年度最受歡迎中國開源軟體大資料視覺化
- 墨天輪最受DBA歡迎的資料庫技術文件-監控篇資料庫
- 墨天輪最受DBA歡迎的資料庫技術文件-巡檢篇資料庫
- GitHub 十個最受歡迎的 React 相關庫GithubReact
- 2020年最受歡迎的前端自動化測試工具 - Applitools前端APP
- 墨天輪最受DBA歡迎的資料庫技術文件-容災備份篇資料庫
- 墨天輪最受DBA歡迎的資料庫技術文件-故障處理案例篇資料庫
- 美國最受歡迎的臺式電腦品牌(附原資料表)
- 推薦10個最受歡迎的 Vue.js UI 庫Vue.jsUI
- DB-Engines:2019年全球最受歡迎資料庫 MySQL奪冠資料庫MySql
- 最受DevOps歡迎的五種工具dev
- 全球最受歡迎的8位Java大牛Java
- Docker Hub 最受歡迎的10大映象Docker
- 資料視覺化——Matpoltlib庫的使用視覺化
- D3視覺化:(1)初次見面,SVG與D3的魅力視覺化SVG
- 2019年10個最受歡迎的JavaScript動畫庫!JavaScript動畫
- 2016年度最受歡迎的100個 Java 庫Java
- 2018 年最受歡迎的15個Python 庫,成都大資料分析培訓Python大資料
- 年度最受歡迎的開源CHROME外掛Chrome
- 最知名的遊戲公司就最受歡迎嗎?遊戲
- 2017年最受歡迎的UI框架UI框架
- 20個最受歡迎的Linux命令(轉)Linux
- 最受歡迎的5個Android ORM框架AndroidORM框架
- 最受歡迎的App開發工具推薦APP
- 誰是原神中最受歡迎的女性角色?資料說明一切
- 前端之圖形學-1 資料視覺化前端視覺化
- Statista:電視節目是美國最受歡迎的網路視訊型別型別
- 想成為高階程式設計師?最受歡迎的十大資料庫,全給你了!程式設計師大資料資料庫
- 前端er必須掌握的資料視覺化技術前端視覺化
- 遇見大資料視覺化 : 那些 WOW 的資料視覺化案例大資料視覺化
- Python資料視覺化matplotlib庫Python視覺化