R語言繪制空間熱力圖實例講解
先上圖
R語言的REmap包擁有非常強大的空間熱力圖以及空間遷移圖功能,裡面內置瞭國內外諸多城市坐標數據,使用起來方便快捷。
開始首先安裝相關包
install_packages("devtools") install_packages("REmap") library(devtools) library(REmap)
我們來試試其強大的城市坐標獲取功能
city<- c("beijing","上海") get_geo_position(a)
我們可以得到如下表結果,即上海和北京兩所城市的經緯度坐標,這樣寫可以看出,無論輸入漢語拼音“beijing”或是漢語“上海”,都是可以被識別的。
id1120lon116.413554121.480237lat39.91101331.236305citybeijing上海
那麼,但你拿到一份“城市-指標”數據,如何畫出該指標的空間熱力圖呢?我這邊給大傢示范一份自己的問卷數據QuesData,部分數據見下表:
city上海大同北京合肥泰安value9536191412
面對以上整理好的數據,我們做出如下處理:
df<-data.frame(get_geo_position(as.vector(QuesData$city))) df2<-data.frame(df[1:2],QuesData$value)
得到我們想要的數據如下:
lon116.413554121.480237lat39.91101331.236305value1995
數據處理完後便可以直接繪圖瞭
options(remap.js.web = T) theme1 <- get_theme(theme = "dark",lineColor = "White",backgroundColor = "black",titleColor = "#fff",borderColor = "blue",regionColor = "white",labelShow = T,pointShow = F,pointColor = "gold") remapH(df2,maptype = 'china',theme=theme1,blurSize = 35,color = "blue",minAlpha = 20,opacity = 1)
- 第一句options是為瞭將web設置為激活狀態,由於REmap是基於D3.js繪圖引擎的,需要使用網頁js產生動態效果。
- 第二個是為瞭生成一個主題,這個就像ggplot2的一個圖層一樣(個人理解),其中,theme為主題,有Dark,Bright,Sky,None四種,選前三種時後續設置失效,因為你都定主題瞭,怎麼還想做其他調整呢?如果要設置線條顏色,背景色,邊界顏色這些,主題就要選擇為None,其餘的顏色設置自己摸索吧,不會就參看get_theme命令。
- 第三行即畫圖命令,theme=theme1來指定主題,blursize和minalpha是調整顏色區塊大小和深淺的,大傢自己調整之後看看效果就知道啦!
其他空間作圖
當然,如果你覺得這種方式不夠美觀,又想將空間數據以較美觀的方式呈現,你也可以嘗試空間分位圖,推薦軟件GeoDa和Stata,當然R也可以畫,但是會非常難看。這裡上一張stata的直出圖:
stata命令非常簡單,畫這一張圖隻用瞭一行命令,但是你需要.shp文件,即地理坐標數據文件,該數據在世界地理信息網站上可以免費下載到。
GeoDa是一款專門做界面空間計量的軟件,能夠以界面的方式繪制各種空間圖形,非常好用,但是也有其分析的局限性。
當然不能忘瞭還有ArcGis地理信息系統,這個太強大瞭。
到此這篇關於R語言繪制空間熱力圖實例講解的文章就介紹到這瞭,更多相關R語言繪制空間熱力圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- R語言安裝以及手動安裝devtools的詳細圖文教程
- R語言繪制頻率直方圖的案例
- Vue中實現v-for循環遍歷圖片的方法
- R語言編程學習從Github上安裝包解決網絡問題
- 詳解web如何改變主題配色方法示例