#導入數據web
#處理標記線的數據函數
#標記點的數據code
#使用remapC()繪製圖片
#效果圖rem
繪製以深圳爲地點,到各個省爲終點的動態遷徙圖,各函數介紹能夠參考本博客的 REmap包介紹及使用,均有詳細介紹,這篇爲實際應用字符串
數據在附件get
> library(REmap) > options(remap.js.web = T) #將結果保存在工做目錄下,避免R關掉後圖片被刪除,能夠經過getwd()函數的獲得工做目錄,取出圖片 #讀取數據 > MigrateData <- read.csv('C:\\Users\\Xu\\Desktop\\MigrateDemo.csv',encoding='gb2312',header = F) > head(MigrateData) V1 V2 1 湖南 11580 2 廣西 11207 3 湖北 9235 4 貴州 9689 5 河南 9378 6 江西 12484 > names(MigrateData) <- c('province','values') #命名列
MarkLie_Data表示要傳入繪製標記線(此項目就是遷徙路徑線)的數據博客
包含三列,第一列 origin:起點,咱們設置爲深圳,第二列 destination 終點,第三列指定線條顏色color(由於在markLineControl裏設置線條顏色容易出錯)it
> markLine_data <- data.frame(origin = rep("深圳",nrow(MigrateData)), + destination = MigrateData[1:nrow(MigrateData),1],#MigrateData[c('province')] 或者MigrateData[,1] + + color = rep("#fff",nrow(MigrateData)) + ) > head(markLine_data) #看下前幾個效果 origin destination color 1 深圳 湖南 #fff 2 深圳 廣西 #fff 3 深圳 湖北 #fff 4 深圳 貴州 #fff 5 深圳 河南 #fff 6 深圳 江西 #fff
標記點的設置(此項目就是遷徙的終點),注意,由於是以深圳爲起點,因此咱們作下處理,這樣能突出深圳的位置io
> markPoint_data <- markLine_data[markLine_data!=""] > markPoint_data1 <- markPoint_data[which(markPoint_data!="深圳"&markPoint_data!="#fff")] #做圖時除去深圳這個點及對應的#fff字符串
該函數主要用於繪製分塊區域熱力,如在地圖上顯示不一樣省份熱力效果
> remapC(MigrateData, + title = "深圳人口返鄉模擬圖", #標題設置 + subtitle ='2018年春節', #副標題 + + #主題進行設置 + theme = get_theme( + theme = 'Dark',#背景色 + lineColor = '#FFFFFF' ,#對應爲map圖裏面遷徙線條的顏色 + titleColor = "#fff", + borderColor = "#999999", #邊界顏色 + regionColor = "#000000", #區域顏色 + pointShow = F, #是否展現各省會,城市所在點,設置爲True時展現 + pointColor = "gold" #設置上述點的顏色 + ), + color=c('#CD0000','#FFEC8B'), #顏色漸變方案,對應每一個地區不一樣的value + + #遷徙路徑的數據傳進來 + markLineData = markLine_data, + #設置線的樣式 + markLineTheme = markLineControl( + color = 'white', + lineWidth =2, + lineType = 'dashed', + effect = T #不寫默認也爲T,不過當線條過多時不會動效 + ), + + #標記點的數據傳進來 + markPointData=markPoint_data1, + #設置點樣式 + markPointTheme=markPointControl( #經過markPointControl來設置樣式 + symbolSize=13, #樣式大小 + effect=T, #effctt =T 表示開啓動效 + effectType="scale", + color="white" #沒有設置smybol 類型 + ) + + + )