女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

指引入門d3.js的門徑,如何基于基本原則創建可視化?

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-11-08 09:03 ? 次閱讀

編者按:Google數據可視化工程師Ian Johnson指引了入門d3.js的門徑。

d3是一個豐富、廣闊,有時危險的學習領域。d3的API文檔上長長的函數列表也許嚇壞了你,d3主頁上列出的幾十篇教程也許讓你難以選擇。有超過兩萬個d3示例可供學習,但你永遠不知道給定的示例是否容易理解。

如果你需要的只是快速實現柱狀圖或線圖,也許這篇文章不適合你,有大量制作圖表的庫可用。如果你更喜歡看書,那么Scott Murray的Interactive Data Visualization for the Web是一個很好的起點,而Elijah Meeks的D3.js in Action比較全面地深入了部分API.

我希望這篇指南能幫助你在心智上做好理解d3的準備,并指出一些值得探索的方向。除了d3.js的API外,還有很多需要學習,既包括web標準方面的技術知識,例如HTML、SVG、CSS、JavaScript,也包括溝通概念和數據可視化原則。你大概已經對此有所了解,所以這篇指南試圖為你提供一個良好的起點,幫助你學習更多你想要深入的內容。

溝通復雜概念

圖片來源:r2d3

在我們深入數據可視化原則和技術之前,先讓我們花點時間樹立下雄心壯志。有許多驚人的例子展現了d3的可能性,包括紐約時報文章、r2d3、distill.pub、datasketch|es、polygrah、ncase。如果我這里遺漏了什么,請留言告知。

不過不要僅僅艷羨別人,你需要樹立自己的雄心壯志,這是最重要的事情之一。我從一些使用d3.js的頂尖數據可視化從業者的訪談那里學到的是,最佳學習方法之一是預想你真心想要創建的東西,然后弄清楚創建它你需要做什么。

可視化表示

D3并沒有引入新的可視化表示。不同于Processing、Rapha?l、Protovis,D3的圖形記號詞匯直接來自于web標準:HTML、SVG、CSS。

-- http://d3js.org

圖表不過是內有形狀的矩形。d3提供了方法,通過操作圖形記號或創建自己的形狀來定義你自己的可視化表示。d3使加入視覺交互和聲明可視化行為變得容易。你將在這里學習表達不可能使用其他媒介表達的東西。

如果你想要了解這些不同類型的記號背后的原則,還有人們使用的不同種類的圖形表示,不要錯過Grammar of Graphics一書。

不過不用擔心,僅僅基于圓圈、矩形和仔細的布局,你就可以創建海量有創意的東西。從簡單的東西開始,總是嘗試讓屏幕顯示點什么,然后基于這個原型開始正式創建過程。

基于web

圖片來源:visualcinnamon.com

使用d3.js的原因之一是你可以立刻和任何使用web瀏覽器的人(地球上至少一半人?。┓窒碜髌贰_@意味著在開始調用d3 API函數前,你需要了解SVG、HTML、CSS基礎。如果你想渲染大量數據,那么你大概也會想要學一點Canvas(別擔心,某種程度上說,它實際上比SVG要好學)。掌握了d3和Canvas的基礎后,我推薦lars verspohl寫的D3 and Canvas in 3 steps這篇出色的中級教程。

至于SVG,我推薦你從Scott Murray的SVG primer開始,這篇簡短易讀的教程介紹了SVG的初步知識。建議你親自動手試驗,手工創建SVG元素,看看它們是如何工作的。你可以使用BlockBuilder這樣的工具快速上手,無需配置任何開發環境。另外,你可能需要參考MDN上的SVG文檔。掌握了基礎之后,推薦閱讀Nadieh Bremer的SVG beyond mere shapes。

blockbuilder.org

你不用直接使用SVG制作可視化,使用d3操作

之類的HTML元素是相對常見的做法。為了取得良好效果,你需要熟悉CSS定位。你甚至可以一下子混合HTML、SVG、Canvas。

搞明白應該使用那個渲染系統可能就讓你有點不堪重負了,更別說弄清楚如何使用任何一個渲染系統了。這里重申下,開始學習d3.js之前需要了解HTML、CSS、SVG(和一點Canvas)的基礎,這很重要。

d3.js入門

圖片來源:d3js.org

如何基于基本原則創建可視化?使用大量工具函數逐一創建。你大概已經知道d3的API十分繁多,所以這里我們列出在入門階段特別有幫助的一些工具。

d3-scale

scale的常見用途之一是顏色

d3工具箱中最基礎的工具之一是scale??梢詮腗ike Bostock寫的Introducing d3-scale這篇概覽入手,了解什么是scale,如何使用scale。不管創建的是什么樣的可視化,你多半會使用至少一種scale。

d3-shape

streamgraph

手寫SVG路徑相當麻煩(參見Chris Coyier的The SVG path Syntax: An Illustrated Guide),而d3-shape包含了一些函數,在某些使用場景下,這些函數使創建、操作SVG路徑更容易。閱讀Mike Bostock的Introducing d3-shape這篇概覽,可以了解d3-shape提供了什么,如何開始使用d3-shape。只需增加一行代碼,d3-shape就可以渲染線條、區域、任意路徑為Canvas。

d3-selection

d3最難學習的部分之一是它的selection系統,也稱為一般更新模式。在內化這一部分之前,我有幾個月的時間被它折磨得用頭撞桌子,但是別讓這一點嚇跑了你!實際上,你無需精通selection,就可以做出大量酷炫的東西。當你準備好深入這一主題的時候,你可以從d3-selection的README開始,別忘了點擊上面的列出的鏈接,比如Mike Bostock的Thinking with Joins。

d3-collection

操作數據是可視化的一個極為重要的部分。取決于數據有多好,以及你對數據理解多少,這可能經常是最困難的部分。掌握更多處理數據的工具(重整形狀、切片、聚合)很有幫助。在這方面我建議熟悉下d3-collection,特別是它的nest函數。

d3-hierarchy

樹形圖

繼續處理數據這一主題,許多可視化的關鍵部分在于基于數據的結構布局視覺表示。你可以在d3-hierarchy中找到一些常用的函數,可用于制作樹圖(tree)、樹形圖(treemap)、圓圈包(circle pack)。

d3-zoom

也許你想給可視化加上縮放這一常用的交互行為。Mike Bostock給出了一系列基于d3-zoom在可視化中增加縮放的各種方法:http://blockbuilder.org/search?text=zoom&user=mbostock&d3version=v4

別忘了查看下d3-zoom的表兄弟d3-drag,它提供了拖放等交互行為。

d3-force

d3很有啟發性的能力之一是力布局。力布局易學難工,可別被它推向黑暗面!(譯者注:這里作者用了一個雙關。力布局原文為force layout,星戰中的原力用的也是force一詞,原力具有黑暗面。)參考GitHub的d3/d3-force文檔了解詳情。

搜索!

最后提供一個小竅門,通過BlockBuilder的搜索功能你可以查找任何API函數的用法。你還可以限制搜索的d3版本。

社區

d3.js的slack頻道是一個很活躍的線上社區。如果你想參加線下聚會,那么舊金山灣區的用戶組是最大的d3.js用戶組之一,不過,你大概能找到幾個離你較近的用戶組。另外,每年秋季,都在舊金山召開年度d3.unconf

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4368

    瀏覽量

    64180
  • 可視化
    +關注

    關注

    1

    文章

    1243

    瀏覽量

    21631

原文標題:d3.js漫游指南

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    光學系統的3D可視化

    視圖 3D 系統視圖: 無光可視化系統 選項 - 選擇要顯示的元件 右鍵單擊文檔窗口,菜單上將顯示詳細選項。第一個選項 \"Select Elements to Show\"
    發表于 01-06 08:53

    七款經久不衰的數據可視化工具!

    工具 · D3.jsD3.js 是一個基于 JavaScript 的數據可視化庫,允許開發者創建豐富的交互式圖表。它具有極大的靈活性,但需要編程知識,因此適合開發者或具有技術背景的
    發表于 01-19 15:24

    MOS設計選型的基本原則

    6個MOS設計選型的基本原則
    發表于 03-18 07:04

    變量初始基本原則

    一、變量初始變量初始基本原則為:可綜合代碼中完成內部變量的初始,Testbench中完成可綜合代碼所需的各類接口信號的初始。初始
    發表于 01-19 07:07

    利用PADS實現3D可視化

    本文給出了利用PADS實現3D可視化的 具體過程,并對PADS和3D技術進行了必要的說明。
    發表于 10-10 16:03 ?477次下載
    利用PADS實現<b class='flag-5'>3D</b><b class='flag-5'>可視化</b>

    內電層分割基本原則

    內電層分割基本原則,內電層分割基本原則,內電層分割基本原則
    發表于 12-24 11:02 ?0次下載

    PCB設計基本原則

    PCB設計基本原則,好東西,喜歡的朋友可以下載來學習。
    發表于 01-18 15:17 ?0次下載

    管線可視化管理怎么實現呢?

    、調度、通信信息各個環節逐級可視。具備電站環境可視化、電力設備可視化、電力安防可視化標準功能,同時展示輸電網、變電站及其內部的設備位置分布。 ThingJS-面向物聯網的
    發表于 03-11 14:36 ?1423次閱讀

    PLC選型的基本原則有哪些

    PLC選型的基本原則是:所選的PLC應能夠滿足控制系統的功能需要。
    發表于 04-25 10:10 ?1.8w次閱讀

    PLC控制系統設計的基本原則

    PLC控制系統的設計四項基本原則如下
    發表于 05-18 08:57 ?4020次閱讀

    淺談工業3D可視化建模的特點

    智能3D設備是在工業搭建的3D建模和三維可視化基礎上之上構建的一個機遇Web3D的虛擬工業,其運用物理網、云計算等現代信息技術,商迪3D運用
    發表于 04-09 10:23 ?2172次閱讀

    數據的可視化原則

    數據可視化原則(一)理解數據源 確保了解你工作的數據。這是理解數據至關重要的第一步。你需要對宏觀的全局有所理解:為什么收集這些數據?公司對于這些數據賦予什么樣的價值?用戶是誰?如何能讓數據作用最大化
    發表于 09-06 15:12 ?1489次閱讀
    數據的<b class='flag-5'>可視化</b><b class='flag-5'>原則</b>

    智慧園區3D可視化大屏的主要優勢

    智慧園區3D可視化大屏展示三維建模公司,是指智慧園區運行中產品或獲取的數據。它是一個3D可視化和三維建模、信息處理利用有關的活動組成。商迪3D
    發表于 09-24 15:03 ?1714次閱讀

    硬件原理圖設計基本原則

    硬件原理圖設計還應該遵守一些基本原則,這些基本原則要貫徹到整個設計過程,雖然成功的參考設計中也體現了這些原則,但因為我們可能是“拼”出來的原理圖,所以我們還是要隨時根據這些原則來設計審
    的頭像 發表于 06-14 10:29 ?4998次閱讀

    群脈沖預防方案的基本原則?

    群脈沖預防方案的基本原則?|深圳比創達電子
    的頭像 發表于 01-15 14:03 ?910次閱讀
    群脈沖預防方案的<b class='flag-5'>基本原則</b>?