引子
繼 Learn D3: Interaction 最後一篇。
- 原文:Learn D3: Further Topics
- 版本:Published Mar 24, 2020
- Origin
- My GitHub
正文
如果你從一開始就堅持這個教程,深呼吸,鼓勵一下自己!? 你已經涵蓋了很多領域,並對典型的視覺化有了重要的瞭解。
但我們還沒有到達頂峰!不,這只是大本營。
是時候向上看,看看未來會發生什麼。?
乾淨的資料是有效資料視覺化的先決條件。想要體驗資料收集和清理,請閱讀關於 Wikipedia 資料的教程。請參閱 d3 陣列轉換和聚合資料的方法,包括基本的彙總統計資訊以及強大的 d3.group 和 d3.rollup 。另請參見 Harry Steven 對 d3 迴歸進行趨勢和相關性的分析。對於資料聚合,考慮一維分組 (如直方圖)、二維六邊形、 密度輪廓估計。
我們之前提到過比例尺,但 d3 比例尺也提供了許多我們沒有涉及的變換,如對數比例尺、冪比例尺、符號比例尺、量化比例尺和分位數比例尺(這是一個簡潔的對數到線性比例的轉換。)如果你選擇適合你手頭資料和問題的轉換,你的視覺化將更加有效!看看這篇關於比較的文章。
我們僅限於抽象表格資料,但 D3 也適用於其它型別的資料。對於網狀資料,考慮弦圖或力有向圖。對於分層資料,d3-hierarchy 實現了幾種流行的演算法,包括 treemaps 和 tidy trees 。有關地圖和地理空間視覺化,請參見 d3-geo 。有關時間序列資料,請參見 d3-time 。
為了更好地控制資料的顯示方式,D3 提供了格式化數字和日期的基本方法(在所需的語言環境中)。D3 實現了許多顏色空間和方案。
對於動畫,探索 D3 的緩動方法、插值器和過渡。關於互動,請參見 D3 的可複用行為:圖刷、縮放和拖動。
你也可以著手 Observable 各種特定主題。通過 promises、 generators、views 將 Observable 的資料流提升到下一個級別。使用失效 promise 在重新執行單元時釋放資源,或使用可見性 promise 將單元的計算推遲到其可見為止。
別忘了溝通交流!在瞄準 Vega-Lite 時,這個關於圖形標記和視覺編碼通道的 U.W. 教程是對視覺化基礎的極好介紹。對視覺化變數的思考也將幫助你在 D3 中設計更好的視覺化效果。為了標記密度圖,考慮 Voronoi heuristic 或 iterative optimization 。要顯示顏色編碼,使用顏色圖例。
最後,不要孤軍奮戰。
我們希望你能在 Observable 上分享你的工作。實踐者往往只在工作完成並經過潤色後才分享工作,這會使實踐看起來比必要的更嚇人:錯誤,沿途丟棄的草稿,是看不見的。如果你樂於分享,Observable 是通過評論和建議(以及我們的論壇)獲得反饋和幫助的好方法。
一如既往,謝謝你的閱讀。? 請在 Twitter 上關注我們的更新,並將你的反饋傳送給我們。我們還歡迎對本系列的未來新增內容提出建議。