上次我們介紹了使用ggplot2繪製中國熱力地圖,需要溫習的同學可以點擊以下連結 使用ggplot2繪製中國地圖 。在使用ggplot2繪製的時候,需要進行數據處理的步驟比較多,今天我們介紹一個新的方法來繪製中地圖。
REmap包歸功於百度的可視化開源項目——echarts,它是國內為數不多的高水平開源可視化js庫,在業界地位首屈一指。有興趣的同學可以查看echarts的官網看下案例 。
在使用REmap包之前,我們需要先安裝, 安裝代碼如下,各位同學直接粘貼複製就可以。
install.packages("devtools")devtools::install_github("lchiffon/REmap") library(REmap)接下來我們一一介紹REmap的各個功能。首先第一個是遷徙圖。應用場景:春節降至,在大城市工作的打工族紛紛從北京返鄉,我們收集到了全國主要城市的數據,我們希望通過可視化來了解各個城市之間的關係。
df <- read.csv("qianxi.csv",stringsAsFactors=FALSE)head(df)remapB(markLineData = demoC,geoData = geoData)使用一行非常簡單的代碼我們就可以繪製出遷徙圖,從圖中可以直接的比較從北京都各個城市的流量,簡簡單單一行代碼。
接下來,我們使用上次的數據來繪製熱力圖,
heatmapDf <- read.csv("heatmap.csv")mapNames('china')head(heatmapDf)remapC(heatmapDf)同樣的使用一行代碼就可以將中國地圖呈現,不再需要事先處理中國地圖的數據,是不是很方便呀。你這裡需要注意幾點,熱力圖的數據第一列必須是省份的名稱,並且省份的名稱必須符合地圖的數據,也就是你使用代碼mapNames('china')運行之後的結果,第二列是數值,要做熱力圖的
有些同學在進行數據分析的時候往往要繪製某個省份的數據進行,如果使用ggplot2的話又是要處理很長的數據,那麼我們使用REmap來做的話就會非常簡單,接下來我們模擬省份的數據。
data = data.frame(country = mapNames('浙江'),value = rnorm(11))head(data)remapC(data,maptype = '浙江',color = 'orange')使用一行代碼,直接運行可以看到結果
除了可以繪製中國地圖熱力圖,REmap還可以繪製世界地圖的熱力圖,我們使用模擬的數據來進行繪圖。同樣的數據也是有要求的,國家的名稱必須和REmap中的一致,你可以使用mapNames方法獲取。
data = data.frame(country = mapNames("world"),value = 5*sample(178)+200)head(data)# country value# 1 Afghanistan 870# 2 Angola 420# 3 Albania 230# 4 United Arab Emirates 590# 5 Argentina 510# 6 Armenia 595remapC(data,maptype = "world",color = 'skyblue')使用一行簡單的代碼,我們可以直接看到世界地圖的結果
以上就是REmap的簡單介紹,如果想了解更多,在公眾號輸入remap,獲取更多的學習資料。