R語言繪製熱圖Heatmap

熱圖,適合二維數據表的可視化,數值用顏色顯示。

細活在於調顏色,給人感性的、辨識度高的認識。


nba <- read.csv("d:/ppg2015.csv", sep=",")

nba <- nba[order(nba$PTS),]; #按場均得分排名
row.names(nba) <- nba$PLAYER;#行名爲球星名
nba <- nba[,-c(1:4,8,10,12)]

nba_matrix <- data.matrix(nba)

nba_heatmap <- heatmap(nba_matrix, Rowv=NA, Colv=NA, col = topo.colors(16),scale="column", margins=c(5,10))


Heatmap顏色的設置還是很關鍵的,直接體現你這幅圖的效果了。
R中顏色調色板很多:
(1)簡單的
heat.colors(n, alpha = 1)
terrain.colors(n, alpha = 1)
topo.colors(n, alpha = 1)
cm.colors(n, alpha = 1)
比如,col=cm.colors(256))  #這裏的顏色設置爲n=256種,如果爲2,做出的圖就有兩種顏色,不是你顏色設置越多越好,根據自己的需要而定(即合理的設置n)。
(2)複雜的
rainbow(n, s = 1, v = 1, start = 0, end = max(1,n - 1)/n, alpha = 1)
其中n代表顏色的種類,Start是起始的顏色,end是結束的顏色。可以設置爲red=0, yellow=1/6, green=2/6, cyan=3/6, blue=4/6 and magenta=5/6.

熱圖的優缺點:

優點:
1. 與實景結合,數據表達更直觀
2. 用形狀和色彩傳遞信息,更易理解
人對事物的認知是感性的基於某種基模的,人對形、色、聲、味、溫度、壓力…等可直接感知內容的理解要比數字容易的多。
熱圖之所以爲“熱圖”是用人們熟知的火焰色彩傳達溫度感,藉助形、色和溫度三種基模傳遞原本難以理解的數量信息,非常之給力。
3. 柔化視覺效果更好,對非精確信息表達更合理
攝影愛好者一定知道柔光攝影技巧,照出來的照片更漂亮。
柔化之所以更舒服是因爲較爲平滑的色彩過渡讓人感覺更柔和。
有時候我們更希望得到數據的平均值或近似值,而不是精確值,比如我們點擊網頁上的內容時並不是精確到某一像素,而是一個區域。因此模糊處理後可以更合理的解釋用戶比較喜歡點擊的區域。

缺點:
1. 柔化效果,對精確信息表達不準確
2. 色彩傳遞感性化信息,不容易分辨具體值

熱圖的應用場景:
(1)足球比賽中,可以用來呈現隊員在場上的活動熱圖;
(2)超市或商店裏呈現顧客的移動和駐足的熱圖,用來優化商品和貨架佈局;
(3)統計房屋租金價格,與地圖結合看租房熱度;
(4)統計程序中的字幕頻度,用鍵盤和熱圖呈現,來看不同編程語言的常用字符:





發佈了32 篇原創文章 · 獲贊 11 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章