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