作者:Stenen
來源:數倉寶貝庫
導讀:是什麼使一張示意圖或一張函數關係圖既能充分地表達信息又具有美觀性,並將設計美學建立在以下原則之上?本文將詳細介紹這些原則。
01
最大化數據墨水比率
在任何圖形中,一些筆墨(墨水)用於表示實際的基礎數據,而其餘一些筆墨(墨水)則用於圖形效果。一般而言,可視化應側重於顯示數據本身。我們將數據墨水比率定義為:
圖1按性別列出了平均工資(來源:勞工統計局,2015年),其將有助於解釋這一概念。你更喜歡哪種數據表示形式?左圖寫著「酷,你是如何製作這些陰影和三維透視效果的?」右圖寫著:「哇,女性的收入在各個方面都很低。但為什麼諮詢師的差距最小呢?」
圖1 三維條形圖渲染陰影(左)可能看起來令人印象深刻,但它們實際上只是圖表垃圾。而僅僅展示數據(右)可以增加清晰度以及數據墨水比率
最大化數據墨水比率可以讓數據說話,這是整個可視化練習的重點。右邊的平面透視圖可以更公平地比較柱形的高度,因此,男性對女性而言看起來不像是無足輕重的角色。這些顏色在對男女各方面進行一一對比時,起到了很好的作用。
有更多極端的方法可以提高數據墨水比率。為什麼我們要畫條形圖?同樣的信息可以通過繪製一個適當高度的點來傳達,如果我們繪製的點比這裡顯示的8個點要多得多,那麼這顯然有很大的改進。請注意,可視化數據越少越好。
02
最小化謊言因子
可視化方法是試圖講述一個關於數據所展現內容的真實故事。謊言最簡單的形式是捏造數據,也有可能雖然展示的數據是真實的,但是陳述的內容卻不符合事實。Tufte將圖表的謊言因子定義為:
圖形完整性要求最小化謊言因子,這可以通過避免採用容易誤導的技術來實現。不良做法包括:
- 無方差表示均值: 兩組數據集{100,100,100,100,100}和{200,0,100,200,0},雖然其均值都是100,但是表達的故事卻不相同。如果不能用均值繪製實際點,至少要顯示方差,以清楚均值所反映的分布的程度。
- 在沒有實際數據的情況下進行插值: 在呈現變化趨勢和簡化大型數據集方面,回歸曲線和擬合曲線是有效的。但是如果在圖形中不顯示這些曲線所基於的數據點,就無法確定擬合的質量。
- 比例尺失真: 圖形的長寬比會對我們解釋所看到的內容產生巨大影響。圖6.6給出了給定財務時間序列的三幅渲染圖,除了圖表的縱橫比外,其餘均相同。
圖2 財務時間序列的三幅渲染圖(哪一個最準確地代表了真實情況)
在最下方的圖形渲染中,曲線看起來很平整:這裡沒有什麼可擔心的。右側的圖中,利潤呈現斷崖式下滑:簡直是天塌下來了!左側圖片的曲線也出現嚴重下跌,但是在秋季有反彈的跡象。
哪個圖形展示的內容是對的?人們通常習慣於按照黃金比例查看圖形曲線,這意味著寬度應該是高度的1.6倍左右。除非有充分理由說明不恰當的原因,否則請按照這個比例向受眾進行展示。心理學家告訴我們,45度線是最容易解釋的,因此請避免使用那些被過分放大或減弱的線條形狀。
- 消除數字軸上的刻度標籤:即 使是最嚴重的刻度失真也可以通過不在坐標軸上列印數字參考標籤來完全隱藏。只有使用數字比例尺標記,才能從繪圖中重建實際數據值。
- 隱藏圖中的原點: 大多數圖形中的默認假設是y軸上值的範圍從零到ymax。如果y範圍變為ymin-ε到ymax,我們將無法直觀地比較量值。這會使最大值突然看起來比最小值大很多倍,而不是按比例縮放。
儘管已經知道了Tufte公式,但還是無法機械地計算謊言因子,因為需要了解失真背後的原因。在閱讀任何圖表時,了解誰繪製的圖表以及為什麼繪製這些圖表非常重要。理解制表人的想法應該能讓你意識到圖表中潛在的誤導性信息。
03
最大限度地減少圖標垃圾
無關的視覺元素會分散數據試圖傳達的信息。在一個令人興奮的圖表中,講述故事的是數據,而不是圖表垃圾。
圖3顯示了一家公司開始在遭遇經濟不景氣時的月度銷售時間序列。所實驗的圖形是條形圖,這是一種用於表示時間序列數據的很好的方法,同時其繪製使用了常規(可能是默認的)選項以及合理的繪圖包。
圖3 月底銷售時間序列(我們如何改進/簡化這個條形圖時間序列)
但是,可以通過刪除元素來簡化這個圖,使數據更加突出嗎?在仔細觀察圖4之前,請仔細考慮一下這個問題,圖4中連續對圖3進行了4次簡化處理。其中的關鍵操作包括:
- 解放數據(左上方): 濃重的網格通過在視覺上對內容的控制,而約束了數據。通常可以通過刪除網格或至少減少網格來改進圖形。
- 數據網格的潛在價值在於其有助於更精確地解釋數值。 因此,在需要準確引用大量數值的繪圖中,網格往往具有很大的用途。強化網格線可以充分勝任此類任務。
- 停止投射陰影(右上方): 這裡的加深背景對圖形的解釋毫無幫助。刪除它會增加數據墨水比率,並減少干擾。
- 對邊框的考慮(左下角): 邊框實際上並沒有提供任何信息,尤其是沒有定義坐標軸的上邊框和右邊框。去掉邊框,會讓圖中的數據更加突出。
- 利用缺少的墨跡(右下角): 通過從條形圖中刪除網格的線而不是添加元素,可以恢復網格的參考價值。這使得比較那些最大數字的量級變得更容易,方法是將注意力放在條形圖中相對較小的頂部部分的大變化上,而不是放在長條形的小變化上。
圖4 通過刪除多餘的非數據元素,對圖3連續的四次簡化
建築師Mies van der Rohe曾說過「少即是多」。從圖形中移除元素通常比添加元素更能改善圖形的可視化。讓它成為你的圖形設計理念的一部分吧。
04
恰當的縮放和標註
縮放和標註的不足會使圖形產生有意或無意的錯誤信息。標註需要準確地說明數字的大小,比例尺需要能夠以適當的解析度顯示這些數字,以利於比較。一般而言,應按比例縮放數據,以填充圖表上分配給它的空間。
對於是在變量的全部假設範圍內縮放坐標軸,還是將其縮小到僅能夠反映觀測值,明智的人可以做出正確的判斷。但是某些決定顯然是不合理的。
圖5(左)顯示了將近一百種語言在兩個變量間的相關性,由於相關性範圍在[-1,1]之間,所以在橫坐標中,他不得不使用圖中所示的區間段。從這幅圖的大片白色只捕捉到了這樣一個概念:要是使相關性接近1.0,我們可以做得更好。但這個圖在其他方面是不可讀的。
圖5(右)顯示了完全相同的數據,但是坐標軸的比例尺進行了放大。現在可以看到,當我們從左向右移動時,性能有了提高,並可以看清任何一門語言的分數。左側圖中,這些條形與刻度的距離太遠,很難看清具體的數值。
圖5 當圖中有大量空白時,縮小比例尺是很愚蠢的行為(左)。恰當的縮放會讓比較變得更加容易(右)
如果在縮小了坐標軸的範圍後,導致這些條形不能被完全展現出來,那就出問題了,因為此時無法從條形的高度判斷其真實數值。我們在這裡標註了y=0這條線,以幫助讀者理解每個條形必須是完整的。從網格中獲取數據也會有所幫助。
05
有效使用顏色和陰影
顏色越來越多地被看作圖形表達的一部分。顏色在圖表中起到兩個主要作用,即標記不同的分類和編碼數值。用不同顏色表示不同類型、集群或等級的要點,會在傳統的散點圖上對信息的另一個層次進行編碼。當我們試圖確定不同類間數據分布的差異程度時,這是一個很好的辦法。最關鍵的是,通過使用不同粗體原色,可以輕鬆區分每個等級。
所選擇的顏色最好可以讓我們自然而然地聯想到它所代表的種類。例如,應該用紅色表示損失,用綠色表示環境因素,用其國旗中的顏色表示國家,用球衣的顏色表示球隊。將男性表示成藍色,女性表示成紅色,這就為受眾解讀散點圖提供了一個微妙的線索。
用顏色表示數值尺度是一個比較困難的問題。彩虹的顏色圖在感知上是非線性的,這意味著紫色在綠色之前還是之後對任何人都不明顯。因此,當用彩虹色繪製數字時,將相似的數字以相似的顏色分組,在沒有顯式參照色階的情況下,無法察覺相對大小。圖6顯示了來自Python的MatPlotLib的幾個色階,以便進行比較。
基於亮度或飽和度變化的色階表現效果會更好。顏色的亮度通過將色調與灰色陰影(介於白色和黑色之間)混合來調製。飽和度是通過混合一部分灰度來控制的,其中0產生純色調,而1是去除所有顏色。
另一種流行的色階具有明顯的正/負顏色,周圍的白色或灰色中心反射為零。因此,色調告訴了受眾數字的極性,而亮度/飽和度則反映了幅度。某些色階對色盲者來說更有幫助,特別是避免使用紅色和綠色的色階。
一般來說,圖中的大區域應顯示為不飽和顏色。相反,對於小區域而言,其在飽和色下表現更好。色彩系統是一個令人驚訝的技術和複雜問題,這意味著你應該始終使用已有的完善色階,而不是自己發明色階。
06
重複的力量
小型多重圖和表是表示多元數據的好方法。
多個小圖表有許多用處。我們可以使用其按類分解分布,也可以按地區、性別或時間段繪製單獨但可比較的圖表。一系列圖便於比較不同分布之間的變化。
時間序列圖使我們能夠在不同的時間點上比較相同的數量。最好是去比較多重時間序列,要麼用於同一個圖上的線,要麼用於反映其關係的邏輯數組中的多重圖。
推薦理由:本書由算法領域的知名專家Steven Skiena教授撰寫,重點介紹了收集、分析和解釋數據所需的技能和原理。
點這裡關注我,記得標星哦~
CDA課程諮詢