圖形的使用遵循 💡 2/8原則 💡 ,大家平時用得最多的就是 🔹 柱狀圖,🔹 折線圖,🔹 餅圖,但估計會有點審美疲勞。
本文介紹了更多的圖形 📊 ,共計33種,能夠表達更多難以言表的東西,學會也非常實用。
👉比如氣泡圖,用來表現三維的資料就很形象;👉比如柱狀圖的變種南丁格爾玫瑰圖,看起來美觀多了;👉比如和絃圖,能表現網路流向關係;👉又比如矩形樹圖,能表現決策樹等等。
資料視覺化是關於資料之視覺表現形式的研究;簡單來說,資料視覺化就是用圖形的方式來表徵資料的規律。
首先要明確幾點:
1️⃣資料視覺化從來只是表層的東西,資料分析才是核心🌟。就像一個人,不一定長得漂亮人格就高尚,也不一定長得不好看人格就低下。而應該反過來,只只有資料分析內涵豐富、價值高,資料視覺化才能內容豐富、有價值。
2️⃣可是這是個看臉的世界,大部分人對於資料也都是外行的,只有把資料視覺化做得漂亮才能吸引他們的注意;只有把資料視覺化做得簡單易懂,他們才能理解資料分析的內涵。
3️⃣對於資料視覺化,最重要的東西從來不是圖形、工具、配色這些套路性的東西 ❎ ,而在於創意和靈感 ✅。在日常工作中,還是以實用為主,所以掌握套路還是很必要的。
本文旨在總結資料視覺化基本套路,理解了本文的內容,足夠我們應付日常工作。熟悉了套路怎麼看,再結合專業知識,就可以解釋視覺化結果了。
常用圖形
散點圖
散點圖用來表徵兩個(如果多個就分面,如上圖)數值型變數間的關係,每個點的位置(即x軸和y軸座標)對映著兩個變數的值。當然對於三個數值型變數,也有三維散點圖,不過用得不多。
氣泡圖
在散點圖的基礎上加一個維度,把各個點的面積大小對映一個新的變數,這樣不僅點的位置還有大小表示資料特徵。
折線圖
把散點圖各個散點用折線連線起來就成了折線圖,當然不僅僅只是為了好看,當散點越多,折線就越平滑地趨近於曲線,能更加貼切地反映連續型變數的規律。
面積圖
把折線圖進一步往座標軸投影就成了面積圖,本質其實跟折線圖沒區別,只是看起來更加飽滿一點。
柱狀圖
柱狀圖是一種用得很廣泛的圖形,它表徵分型別變數 vs 數值型變數的關係。如果分型別變數的每一個取值還能繼續分類,那麼簡單的柱狀圖就變成了複雜的柱狀圖,每一個類別僅由一根柱變成多根柱,多根柱可以串列,也可以並列。
值得一提的是,柱狀圖一般需要排序:如果分型別變數是有序的,按照它本身的順序排列即可;如果分型別變數無序,那麼則根據數值型變數的大小進行排序,使柱狀圖的高度單調變化。
條形圖
把柱狀圖座標旋轉一下,豎著的變成橫著的,這個可根據版面自由選擇。上圖示例就是串列的堆疊條形圖。
南丁格爾玫瑰圖
本質還是柱狀圖,只不過把直角座標系對映成極座標系。看起來比柱狀圖更美觀。
瀑布圖
瀑布圖是柱狀圖的一種延伸,它一般表示某個指標隨時間的漲跌規律,每一個柱狀也不都是從0開始的,而是從前一個柱狀的終點位置開始,這樣既反映了每一個時刻的漲跌情況,也反映了數值指標在每一個時刻的值。
餅圖
餅圖的本質仍是柱狀圖,只不過餅圖一般用來表示各個類別的比例,而不是絕對的數值,用角度來對映大小。
值得一提的是,因為一個圓餅只有360度,如果類別太多了,這個餅會被切割得非常細,不利於閱讀;這種情況下老老實實地用柱狀圖。
圓環圖
本質就是餅圖,只不過把實心圓換成了空心的圓環;如果清一色的餅圖太過單調,可以考慮換個環形圖。
sunburst chart
sunburst chart看起來跟餅圖比較像,但比餅圖更復雜得多。它從中心向外輻射,每輻射一層就細分一層,用來表示多個變數多層之間的比例關係。
馬賽克圖
馬賽克圖比較複雜,與柱狀圖相比,它的分類變數就多了幾個,而且還能實現交叉對映,所以比柱狀圖更抽象,更細化。
直方圖
直方圖看起來跟柱狀圖很像,但其實本質並不一樣 (這一點需要注意)。直方圖用來表徵一個數值型變數的分佈,具體來說就是把這個連續型變數劃分成多個區間,然後統計各個區間的頻數。直方圖橫軸是數值型變數本身的值,縱軸是頻數。
機率密度曲線圖
機率密度曲線圖本質與直方圖類似,不過縱軸不是頻數而是頻率。正如折線圖和麵積圖一樣,機率密度曲線圖也可自由選擇要不要面積投影。這個圖太學術了,一般出現在數學教材中(比如正態分佈……)。
雷達圖
很多遊戲中的人物能力極向對比就是以雷達圖表示的。柱狀圖一般是一個分型別變數不同類別間的比較,雷達圖可以是多個數值不在同一個scale之下;更具體地說,柱狀圖一般是橫向比較,雷達圖既可以多個觀測之間的縱向比較,也可以是一個觀測在不同變數間的橫向比較。
值得一提的是,雷達圖如果用來橫向比較,需先把各個數值變數作歸一化處理。
箱線圖
箱線圖亦稱盒須圖,也是挺學術的一個圖。它用來表徵各個數值型變數的分佈狀況,每一條橫線代表分位數,盒內部的橫線代表中位數,點代表異常值。
小提琴圖
小提琴圖本質與直方圖一樣,都是表徵數值型變數的分佈,每一個小提琴的寬度代表它在該高度處的頻率範圍。
熱力圖
熱力圖一般以顏色來對映密度或者其他數值變數,一般來說,顏色最深的地方表示資料最集中。(比較常用,對於熱圖的解釋還需要看圖例的含義)
日曆圖
日曆圖是熱力圖的變種,它把每一個矩形重新排列成日曆的形狀,這樣可以方便地觀察一段時間內每一天的數值特徵。
地圖
地圖用來視覺化地理資料,這些資料一般由國家地理測繪部門提供,在一些網站上也能找到,常用的資料格式有shp、JSON、csv等。
地圖的繪製原理是基於大量的散點,勾勒成曲線,再連線成多邊形 — — 其中每一塊多代形代表一個地區,可以是國家、省、市、區縣等。
地圖的應用主兩有種情況:一是如上圖一樣以顏色填充每一個多邊形來對映一個指標,這種情況下地圖跟柱狀圖本質相同,但是多了多邊形之間的位置關係;另一種是在地圖上疊加散點或者曲線,來表徵各個點之間的地理位置。
地球圖
地圖是二維的,三維的就是地球圖。這種圖形一般是互動的,也就是說你可以用滑鼠實現地球的旋轉和縮放等操作。
值得一提的是,不要僅僅為了3D就使用地球圖,要看資料本身的情況。如果你的資料範圍本來就覆蓋全球,用地球圖很合適;但如果你的資料範圍小,就一個國內,甚至一個省市內的,搞個地球圖就太浮誇,而且整個球上只有一個非常小的區域有資料,是很不和諧的。
網路圖
網路圖的元素包含點和邊,邊分為無向邊、單向邊和雙向邊來表徵點與點的連線關係,邊的粗細可以對映這種關係的強弱。
arc diagram
arc diagram也是一種網路圖,只不過它把所有的節點一字排開,以弧線來表示邊。這樣看起來藝術感更強,適合於節點較多的網路關係視覺化。
Chord Diagram
和絃圖一般用來表示雙向的網路關係(比如AB兩個城市相互流入流出了多少人),資料結構一般為鄰接矩陣。當節點很多的時候,各種弧線交叉得就非常密密麻麻,這種情況下,要麼互動,要麼考慮別的圖形。
hierarchical edge bundling
hierarchical edge bundling也表示節點間的網路關係,不過它把邊扭曲成曲線,這樣就適合節點比較多的視覺化。
矩形樹圖
矩形樹圖本質就是決策樹的視覺化,只不過排成矩形。它也是把各個變數層層細分,這一點跟sunburst圖類似。當變數比較多的時候,做成互動可縮放的形式更合適。
平行座標圖
平行座標圖的優點是可以把多個變數並形排開,把每一個記錄都以折線連線上。這樣當資料量大的時候,其實可以很方便地觀察各個變數的分佈情況。
桑基圖
桑基圖看起來跟平行座標圖有點像,但含義不一樣。桑基圖主要的用法是表徵流量在各個層級的流動關係,上一層如何向下一層分散,下一層如何由下一層匯聚。
漏斗圖
網際網路營運有一個很重要的概念就是層級轉化,這個每層的轉化率用漏斗圖來視覺化,形神俱佳。如果兩層之間的寬度近似,表徵該層的轉化率高;如果兩層之間的寬度一下子減小了很多,表示轉化率低。
儀表盤
儀表盤的觀賞性大於實用性,實際上它的功能很簡單,就是表徵一個數值型變數在最小值和最大值之間的什麼分位。
象柱形圖
象柱形圖其實就是柱形圖,只不過把柱子換成了其它的圖形。如果資料本身有比較具體、形象的含義和背景,那麼用象柱形圖是一種比較新穎的選擇。
主題河流圖
主題河流圖好看,但不好解釋,如果不是互動式的,最好不要用。它一般是把多個類別隨時間的變化資料堆疊起來,表徵隨時間變化的趨勢。
詞雲圖
詞雲圖即是對詞彙的頻數進行視覺化,一個詞越大它出現的次數就越多,一般與文字挖掘配合使用。
在實際的資料視覺化中,往往不是孤立地用一個基本圖形,把多個圖形組合、鄰接,能交叉對比出更多的資訊。比如在柱狀圖上疊加折線圖,在地圖上疊加散點圖,把多個柱狀圖放在一起對比等等。
記住資料視覺化展現資訊是第一位的,好看倒是其次。
圖形語法
看了以上這麼多圖形,對視覺化圖形也有了一個感性的認識。現在基於ggplot2粗略地介紹一下圖形語法,個人總結,既不全面也不繫統;想學習全面的圖形語法請去專門學習。
🔸資料(data):資料才是圖形的靈魂,這點無需解釋。
🔸幾何物件(geom):也就是圖形本身,這是視覺化的外形。根據資料特徵,選擇最合適的圖形。
🔸對映(mapping):對映即使把資料和圖形給連線起來。對映什麼資料變數,它是連續的還是離散的?
🔸標度(scale):這個是從資料中剝離,但是控制資料如何對映到圖形上的屬性。圖形中用什麼通道來對映?常用的有顏色、長度、面積、形狀、透明度等通道。
🔸座標系(coord):座標系不一定非得是直角笛卡爾座標系,比如對於地圖並不適合,所以要做專門的投影操作。轉換座標系也有造成不同的視覺效果,比如把柱狀圖的座標系轉換成極座標系就變成了玫瑰圖。
🔸統計變換(stat):對資料進行常規的統計操作,不過也可以先把資料處理好,視覺化的時候就不再做變換。
🔸分面(facet):如果圖形維度較高,並不是一張圖能說明的,那麼就分面處理。分面實際上是多加了一個維度,就像一頁紙和一頁書的區別。
🔸位置(position):一般來說圖形各個元素的位置是由資料決定的,不過在不影響分析的前提下為了視覺美觀也可以做一些微調。比如有的散點圖只看它在y軸的高度,這個時候就可以在x軸上加擾動,沒必要很多點都擠在一起。
掌握了圖形語法,對理解視覺化的本質,構思圖形屬性很有幫助;只有掌握了圖形語法,才能真正自由地去創造資料視覺化,而不僅僅只是往模板裡套資料。
看了這麼多,快試試看吧!
文章來源:與數據同行
文章連結:https://mp.weixin.qq.com/s/vWJNRZFbq9Fpxf_9cuyFCQ
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~
文章推薦
◆跟資料打交道的人都得會的這8種資料模型,滿足工作中95%的需求
回顧十週入門數據分析系列文:
關注數據君的臉書:
我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。按贊我的臉書,會有豐富資料包贈送唷!