您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用R語言可視化填充地圖”,在日常操作中,相信很多人在怎么用R語言可視化填充地圖問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用R語言可視化填充地圖”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
今天跟大家介紹REmap函數家族中的第三個函數——REmapC。
REmapC函數允許我們同時在一張地圖上制作填充圖和點圖、線圖。
library(REmap)
library(baidumap)
?remapC
remapC(data,
maptype = 'china',
markLineData = NULL,
markPointData = NULL,
color = c('#1e90ff','#f0ffff'),
theme = get_theme("Bright"),
title = "",
subtitle = "",
markLineTheme = markLineControl(),
markPointTheme = markPointControl(),
geoData = NA,
mindata = NA,
maxdata = NA)
四個主要參數說明:
參數一:data為需要的原始數據框格式數據,共2列,第一列為省份或者城市名稱,第二列為對應的數值,數值大小將決定地圖顏色深淺。
參數二:maptype為地圖類型設置,可選world、china或者中國省份名稱
參數三:color為熱力圖漸變顏色,默認為2個顏色,第一個為終止色,第二個為初始色。如果只有一個顏色,系統會自動以白色補充為初始銫色。
參數四:mindata與maxdata可以設置顏色極端點對應數據的上下限(默認是使用data中的數據最大值最小值作為兩端極值)。
一、全國熱力圖
首先利用mapnames函數提取全國各省份名稱:
province <- mapNames("china") #全國省份
value <- rnorm(34,100,30) #隨機生成分省值
mydata <- data.frame(province,value) #合成數據框作圖數據
remapC(mydata,color=c("yellow","red"),title="全國分省熱地圖",subtitle="我是副標題") #制作熱力圖
默認的顏色標度是從最小值到最大值。以上函數中省略了markLineData,markPointData 兩個參數,所以并未顯示點線圖。
ad_ln <- mapNames("liaoning")
[1] "大連市" "朝陽市" "丹東市" "鐵嶺市" "沈陽市" "撫順市" "葫蘆島市" "阜新市" "錦州市"
[10] "鞍山市" "本溪市" "營口市" "遼陽市" "盤錦市"
value_ln<-rnorm(14,100,30)
data_ln <-data.frame(ad_ln,value_ln)
ad_ln value_ln
1 大連市 79.67630
2 朝陽市 41.93198
3 丹東市 173.31586
4 鐵嶺市 106.01990
5 沈陽市 119.40256
6 撫順市 79.54820
7 葫蘆島市 155.62993
8 阜新市 122.99599
9 錦州市 94.17395
10 鞍山市 82.18944
11 本溪市 98.70972
12 營口市 115.59957
13 遼陽市 104.89199
14 盤錦市 92.92975
map_out <- remapC(data_ln,
maptype = "liaoning",
color=c("green"),
title="遼寧省熱力地圖",
theme = get_theme("Sky"),
maxdata=180
)
plot(map_out)
接下來做一個案例:
每年春運,廣東省人口會大批回流原住地,形成壯觀的春運人流大軍,我們模擬出廣東省回流各省的人口數,使用填色地圖表示人流規模,使用動態流向線表示回流最大的前10個省份。
因為沒有實際的數據,這里我用函數模擬數據(非真實數據):
province <- mapNames("china") #全國省份
value <- round(rnorm(34,1000,30),0) #隨機生成分省值
mydata <- data.frame(province,value) #合并數據
labelper<-mydata[order(mydata[,"value"],decreasing=T),][1:10,]
origin<-rep("廣州",length(labelper))
destination<-labelper$province
line_data<-data.frame(origin,destination)
map_out1 <- remapC(mydata,
maptype = "china",
title="人口遷徙地圖",
theme = get_theme("Drak"),
color=c("#CD0000","#FFEC8B"),
markLineData=line_data,
markLineTheme=markLineControl(
color="white",
lineWidth=2,
lineType="dashed"
),
markPointData=line_data[2],
markPointTheme=markPointControl(
symbolSize=13,
effect=T,
effectType="scale",
color="white"
)
)
plot(map_out1)
因為假設廣東是人口遷出地,給廣東填色是沒有任何意義的,所以mydata數據中需要忽略 廣東的數據
mydata1 <- mydata[-12,]
map_out2 <- remapC(mydata1,
maptype = "china",
title="人口遷徙地圖",
theme = get_theme("Drak"),
color=c("#CD0000","#FFEC8B"),
markLineData=line_data,
markLineTheme=markLineControl(
color="white",
lineWidth=2,
lineType="dashed"
),
markPointData=line_data[2],
markPointTheme=markPointControl(
symbolSize=13,
effect=T,
effectType="scale",
color="white"
)
)
plot(map_out2)
到此,關于“怎么用R語言可視化填充地圖”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。