溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用R語(yǔ)言可視化填充地圖

發(fā)布時(shí)間:2021-07-23 08:59:36 來(lái)源:億速云 閱讀:1052 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要介紹“怎么用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語(yǔ)言可視化填充地圖

默認(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)

怎么用R語(yǔ)言可視化填充地圖

接下來(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)

怎么用R語(yǔ)言可視化填充地圖

因?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)

怎么用R語(yǔ)言可視化填充地圖

到此,關(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í)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI