【D3.js in Action 3 精譯】1.3 D3 視角下的數據可視化最佳實踐(上)

當前內容所在位置

  • 第一部分 D3.js 基礎知識
    • 第一章 D3.js 簡介
      • 1.1 何為 D3.js?
      • 1.2 D3 生態系統——入門須知
        • 1.2.1 HTML 與 DOM
        • 1.2.2 SVG - 可縮放矢量圖形
        • 1.2.3 Canvas 與 WebGL
        • 1.2.4 CSS
        • 1.2.5 JavaScript
        • 1.2.6 Node 與 JavaScript 框架
        • 1.2.7 Observable 記事本
      • 1.3 數據可視化最佳實踐 ?

1.3 數據可視化最佳實踐

數據可視化從未像今天這樣受大眾歡迎。內容詳實的地圖、精心設計的圖表、以及系統和數據集的復雜呈現形式不僅僅出現在工作場所,也在我們的娛樂和日常生活中頻頻露臉。隨著數據可視化的日漸普及,各種數據可視化工具庫也大量涌現;同時,聚焦提升可讀性和理解力的美學規則也在不斷豐富和完善。無論是普通大眾、專家學者還是決策人員,這些可視化的受眾群體已經日漸熟悉了曾一度被認為是極其抽象與復雜的數據趨勢呈現。這使得 D3 等工具庫不僅廣受數據科學家們的青睞,也贏得了記者、藝術家、學者、IT 專業人士甚至數據可視化愛好者們的一致好評。

如此豐富的選項似乎讓人應接不暇,而且修改數據集以在流圖、樹狀圖或直方圖中顯示相對容易,這往往會讓人認為信息可視化更注重風格而非內容。值得慶幸的是,對于不同的數據類型,應該使用哪些圖表和方法已經有了明確的規定。本書并不打算涵蓋數據可視化的所有最佳實踐,但我們會介紹其中的一些。雖然開發人員使用 D3 是為了徹底改變顏色和布局的使用,但大多數人還是希望創建支持實際問題的數據可視化表示。

在構建您的第一個可視化項目時,如果遇到疑問,記得化繁就簡——通常情況下,直方圖的展示效果往往比小提琴圖更好;直接展示分層網絡布局(如樹枝圖)也比力導向布局的效果更佳。視覺效果越復雜的數據呈現方式往往越能激發觀眾的興奮點,但稍有不慎也會導致其過分關注圖形的美學特質而非數據本身。打造炫酷而驚艷眾人的可視化效果本無可厚非;但也應時刻謹記:任何數據可視化作品的首要目標都是講好某個故事。詢問周圍的人們是否理解了你的可視化用意,以及他們是怎樣解讀的,這是至關重要的一步。需要給他們解釋嗎?他們能從與產品交互中得出什么結論?故事講完了嗎?

不過,要正確部署信息可視化項目,您應該有所取舍,要對數據和受眾有充分的了解。D3 賦予開發者極大的靈活性,但正所謂“能力越大,責任越大”。知道哪些圖表更適合表現哪些類型的數據固然是好事,但更重要的是要牢記,如果不從知情的角度精心設計,數據可視化很可能也會帶來誤導信息。如果要自行設計某款可視化圖表,那么充分了解數據可視化的最佳實踐則是構建過程中必不可少的一環。最好的學習方法就是查閱知名設計師和信息可視化從業者的優秀作品。雖然所有的相關著作都在探討這些話題,但其中有幾本書我們認為很有參考價值,可以幫助您掌握這些基礎知識。以下書目絕不是學習數據可視化的唯一教材,但可以作為很好的切入點:

  • Better Data Visualizations》(Columbia University Press,2021 年),作者:Jonathan Schwabish(中譯本《更好的數據可視化指南》,電子工業出版社)
  • The Functional Art》(New Riders,2013 年)《The Truthful Art》(New Riders,2016 年) 以及《How Charts Lie》(W.W. Norton,2020 年),作者:Alberto Cairo(第一本中譯本《不只是美:信息圖表設計原理與經典案例》,第三本中譯本《數據可視化陷阱》,作者:阿爾貝托·開羅)
  • Data Visualisation A Handbook for Data Driven Design》(SAGE,2019 年),作者:Andy Kirk
  • The Visual Display of Quantitative Information Envisioning Information》(Graphics Press,2001 年),作者:Edward Tufte
  • Designing for Information》(Rockport,2013 年),作者:Isabel Meirelles
  • Pattern Recognition》(已發表論文,2008 年,羅德島設計學院),作者:Christian Swinehart
  • Visualization Analysis and Design》(A K Peters,2014 年),作者:Tamara Munzner

在閱讀數據可視化方面的文獻資料時,有一點需要牢記:這些文獻通常側重于靜態圖表。有了 D3,您就可以制作出交互式的動態可視化效果。設計一些交互不僅能使可視化作品可讀性更強,還能顯著提高其吸引力。即使只有幾個鼠標事件,那些感覺自己是在主動探索而非單純閱讀的用戶也可能會發現可視化的內容比閱讀靜態內容更引人注目、也更令人難忘。但增加這樣的復雜性需要對用戶體驗有所了解。本書將在第 7 章中予以詳細介紹。

第一章正文內容到這里就全部結束了!雖然還沒能用上 D3,但您現在也應該掌握了入門所需的全部基礎知識。如果仍不確定該在可視化項目中使用哪種 SVG 元素,或者對于 JavaScript 如何操作數據還不太熟悉,請繼續閱讀并回顧本章相關內容。從下一章開始,我們將著手創建 D3 可視化項目。

譯注
本篇 1.3 小節正文部分雖然到此結束,但隨后是一篇作者與可視化設計師及開發者做的人物專訪記錄,篇幅較長,故此單獨整理到下一篇,敬請期待。
另外,本小節作者提到的很多可視化經典著作很遺憾都沒有中譯本,有需要的讀者可以根據出版社信息及發行年份,參閱相應的英文原版。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44466.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44466.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44466.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis 運維面試題

為了做好大家面試路上的助攻手,對于 Redis 這塊心里還沒底的同學,特整理 40 道Redis常見面試題,讓你面試不慌,爭取 Offer 拿到手軟! 1、什么是 Redis? Redis 是完全開源免費的,遵守 BSD 協議&am…

C++的線程管理

C的線程管理 線程類(Thread)線程構造器約定構造器初始化構造器復制構造器移動構造器 多線程atomiccondition_variable應用實列 futurepromise應用實列 future應用實列 線程類(Thread) 執行線程是一個指令序列,它可以在…

Canvas:實現在線畫板操作

想象一下,用幾行代碼就能創造出如此逼真的圖像和動畫,仿佛將藝術與科技完美融合,前端開發的Canvas技術正是這個數字化時代中最具魔力的一環,它不僅僅是網頁的一部分,更是一個無限創意的畫布,一個讓你的想象…

python網絡爬蟲之Urllib

概述 urllib的request模塊提供了最基本的構造HTTP請求的方法,使用它可以方便地實現請求的發送并得到響應,同時它還帶有處理授權驗證(authentication)、重定向(redirection)、瀏覽器Cookies以及其他內容。 …

DELTA: DEGRADATION-FREE FULLY TEST-TIME ADAPTATION--論文筆記

論文筆記 資料 1.代碼地址 2.論文地址 https://arxiv.org/abs/2301.13018 3.數據集地址 https://github.com/bwbwzhao/DELTA 論文摘要的翻譯 完全測試時間自適應旨在使預訓練模型在實時推理過程中適應測試數據流,當測試數據分布與訓練數據分布不同時&#x…

算法中的基礎知識點,你知道多少呢!

遞歸 場景: ? 1)斐波那契數列 遞推 場景: ? 1)斐波那契數列 ? 2)遞歸 回溯 棧 先進后出 場景: ? 1)path.resolve /a/b/…/c/d —> /a/c/d ? 2)JSX ? 3)加減乘…

VBA實現Excel的數據透視表

前言 本節會介紹通過VBA的PivotCaches.Create方法實現Excel創建新的數據透視表、修改原有的數據透視表的數據源以及刷新數據透視表內容。 本節測試內容以下表信息為例 1、創建數據透視表 語法:PivotCaches.Create(SourceType, [SourceData], [Version]) 說明&am…

打卡第8天-----字符串

進入字符串章節了,我真的特別希望把leetcode上的題快點全部都給刷完,我是社招準備跳槽才選擇這個訓練營的,面試總是掛算法題和編程題,希望通過這個訓練營我的算法和編程的水平能有所提升,抓住機會,成功上岸。我現在的這份工作,真的是一天都不想干了,但是下家工作單位還…

Spring——配置說明

1. 別名 別名&#xff1a;如果添加了別名&#xff0c;也可以使用別名獲取這個對象 <alias name"user" alias"user2"/> 2. Bean的配置 id&#xff1a;bean 的唯一標識符&#xff0c;也就是相當于我們學的對象名class&#xff1a;bean 對象所對應的…

無法解析主機:mirrorlist.centos.org Centos 7

從 2024 年 7 月 1 日起&#xff0c;在 CentOS 7 上&#xff0c;請切換到 Vault 存檔存儲庫&#xff1a; vi /etc/yum.repos.d/CentOS-Base.repo 復制/粘貼以下內容并注意您的操作系統版本。如果需要&#xff0c;請更改。此配置中的版本為 7.9.2009&#xff1a; [base] name…

Mac虛擬機跑Windows流暢嗎 Mac虛擬機連不上網絡怎么解決 mac虛擬機網速慢怎么解決

隨著技術的發展&#xff0c;很多用戶希望能在Mac電腦上運行Windows系統&#xff0c;從而能夠使用那些僅支持Windows系統的軟件。使用虛擬機軟件可以輕松滿足這一需求。但是&#xff0c;很多人可能會有疑問&#xff1a;“Mac虛擬機跑Windows流暢嗎&#xff1f;”&#xff0c;而且…

【AI前沿】深度學習基礎:訓練神經網絡

文章目錄 &#x1f4d1;前言一、前向傳播與反向傳播1.1 前向傳播&#xff08;Forward Propagation&#xff09;1.2 反向傳播&#xff08;Backpropagation&#xff09; 二、損失函數和優化算法2.1 損失函數&#xff08;Loss Function&#xff09;2.2 優化算法&#xff08;Optimi…

極狐Gitlab使用

目錄 續接上篇&#xff1a;極狐Gitlab安裝部署-CSDN博客 1. 關閉注冊功能 2. 創建群組 3. 創建用戶 5. 邀請成員到群組 6. 設置導入導出項目源 7. 通過gitee導入庫 8. 通過倉庫URL導入 9. 自創建項目 10. 默認分支main的權限 11. 使用普通用戶進入自建庫 12. 創建用…

python的isinstance和type

class A:passclass B(A)passbB()#isinstance可以進行繼承關系的判斷 print(isinstance(b,B))#Trueprint(isinstance(b,A))#Trueprint(type(b) is B)#Trueprint(type(b) is A)#Falseprint(type(b),A,B,b)#<class __main__.B> <class __main__.A> <class __main__…

B. Corner Twist(cf956)

題意&#xff1a;給你兩個網格&#xff0c;a和b&#xff0c;都是n行和 m 列。網格中的所有數值都是 0 &#xff0c; 1 或 2 。 您可以多次對 a&#x1d44e; 執行以下操作&#xff1a; 選取網格中任意一個長寬的子矩形。您可以選擇整個網格作為子矩形。子矩形有四個角。取所選…

【Linux 線程】線程的基本概念、LWP的理解

文章目錄 一、ps -L 指令&#x1f34e;二、線程控制 一、ps -L 指令&#x1f34e; &#x1f427; 使用 ps -L 命令查看輕量級進程信息&#xff1b;&#x1f427; pthread_self() 用于獲取用戶態線程的 tid&#xff0c;而并非輕量級進程ID&#xff1b;&#x1f427; getpid() 用…

生成日志系統和監控

背景&#xff1a;已知某后臺服務將日志存放在本地硬盤的日志文件中&#xff0c;該服務也支持代碼熱更新&#xff0c;并在完成熱更新后輸出一條日志。我們需要對服務日志進行監控&#xff0c;以確保文件熱更新后的錯誤能被第一時間發現。 我們提供 Python 程序模擬&#xff08;…

matlab仿真 模擬調制(上)

&#xff08;內容源自詳解MATLAB&#xff0f;SIMULINK 通信系統建模與仿真 劉學勇編著第五章內容&#xff0c;有興趣的讀者請閱讀原書&#xff09; 1.幅度調制 clear all ts0.0025; %信號抽樣時間間隔 t0:ts:10-ts;%時間矢量 fs1/ts;%抽樣頻率 dffs/length(t); %fft的頻率分…

國內從事人機交互的團隊——浙江工業大學

一、背景 當我們選擇一個新的課題后&#xff0c;需要清楚的了解從事該方向的團隊都有哪些&#xff0c;這樣可以及時跟蹤和學習大牛團隊的最新進展&#xff0c;以免自己認為的good idea&#xff0c;其實早就已經研究過了。 隨著人形機器人的發展&#xff0c;機器人不僅需要在無…

人類遠未觸及自然規律的本質

我想知道上帝是如何創造這個世界的&#xff0c;對于這樣或那樣的現象我不感興趣&#xff0c;我想知道的是他的思想&#xff0c;其余的都是細枝末節。——愛因斯坦 人類對自然規律的研究已經取得了不少進展&#xff0c;但是看起來研究清楚了原理&#xff0c;其實只是發現了更深…