溫馨提示×

溫馨提示×

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

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

R語言數(shù)據(jù)地圖中的全球填色地圖是怎樣的

發(fā)布時間:2021-11-22 10:41:04 來源:億速云 閱讀:808 作者:柒染 欄目:大數(shù)據(jù)

R語言數(shù)據(jù)地圖中的全球填色地圖是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

今天介紹的是美國地圖,同樣的方法技巧,不同的對象。

整個過程以及代碼并沒有太大差別,只要拿到世界地圖素材,根據(jù)之前的代碼,自己修改參數(shù)和指標(biāo)名稱以及引用路徑,完全可以做出來(盡管并不一定理解每句代碼的含義)。

R語言環(huán)境:

R x64 3.31/Rstudio 0.99.903/ggplot2 2.1.0

代碼過程:

加載功能所需支持的工具包:

library(ggplot2)

library(plyr)

library("maptools")

導(dǎo)入并整理世界地圖地理信息數(shù)據(jù):

world_map <-readShapePoly("c:/rstudy/wold_map/World_region.shp")

x <- world_map@data    #讀取行政信息

xs <- data.frame(x,id=seq(0:250)-1)  #含島嶼共251個形狀

world_map1 <- fortify(world_map)       #轉(zhuǎn)化為數(shù)據(jù)框

world_map_data <- join(world_map1, xs, type = "full") #合并兩個數(shù)據(jù)框

導(dǎo)入指標(biāo)文件數(shù)據(jù)并合并成作圖數(shù)據(jù):

mydata <- read.csv("C:/rstudy/wold_map/Region_map.csv")   #讀取指標(biāo)數(shù)據(jù),csv格式

world_data <- join(world_map_data, mydata, type="full")   #合并兩個數(shù)據(jù)框

地圖填充過程代碼:

這里還是通過調(diào)整映射方式參數(shù):coord_map("ortho", orientation = c(30, 110, 0))可以變換地圖的呈現(xiàn)視角:

常見平面視角的全球地圖填充:

ggplot(world_data, aes(x = long, y = lat, group = group,fill = zhibiao1)) +

      geom_polygon(colour="grey40") +

      scale_fill_gradient(low="white",high="steelblue") +  #指定漸變填充色,可使用RGB

      theme(               #清除不需要的元素

            panel.grid = element_blank(),

            panel.background = element_blank(),

            axis.text = element_blank(),

            axis.ticks = element_blank(),

            axis.title = element_blank(),

            legend.position = c(0.2,0.3)

            )#平面地圖

R語言數(shù)據(jù)地圖中的全球填色地圖是怎樣的

立體空間地圖:(添加有映射方式參數(shù)coord_map)

ggplot(world_data, aes(x = long, y = lat, group = group,fill = zhibiao1)) +

     geom_polygon(colour="grey40") +

     coord_map("ortho", orientation = c(30, 110, 0))+

     scale_fill_gradient(low="white",high="steelblue") +  #指定漸變填充色,可使用RGB

     theme(               #清除不需要的元素

          panel.grid = element_blank(),

          panel.background = element_blank(),

          axis.text = element_blank(),

          axis.ticks = element_blank(),

          axis.title = element_blank(),

          legend.position = c(0.2,0.3)

          )#映射成空間地圖

R語言數(shù)據(jù)地圖中的全球填色地圖是怎樣的

以上的語法有幾點(diǎn)需要提示一下:

第一、代碼中帶#號后的文本是R語言認(rèn)可的注釋語句,帶運(yùn)行代碼的時候不必清除,可以直接跑。

第二、由于全球地圖呈現(xiàn)的信息比較豐富,所有的海島和群島信息全部都會上色,特別是北歐、北美(加拿大)、大洋洲這些多島嶼、群島低于會有大量的密集分布的小島,而填色代碼在填充時,多邊形線條填充為灰色,造成很多地區(qū)邊界以及島鏈出現(xiàn)大面積黑灰色。

看起來很不美觀,所以如果可以將線條色設(shè)置為白色,這樣效果會好些:geom_polygon(colour="white")

R語言數(shù)據(jù)地圖中的全球填色地圖是怎樣的

但是這樣做也會有不足,因?yàn)闈u變色的色值范圍是從(low="white",high="steelblue")連續(xù)過渡的,這樣數(shù)值接近于零的地區(qū)會被填充為純白,這樣與邊線的白色會混雜,導(dǎo)致局部地區(qū)邊界難辨。

當(dāng)然你也可以嘗試用雙色過渡。

R語言數(shù)據(jù)地圖中的全球填色地圖是怎樣的

我把漸變范圍的低值與高值起點(diǎn)色和重點(diǎn)色替換成了:(low="DeepSkyBlue",high="OrangeRed")。

看起來比剛才由low="white"到high="steelblue"看著舒服一些。

但是通常來講根據(jù)數(shù)據(jù)地圖的填色規(guī)范:

指標(biāo)都是正值,應(yīng)該使用單色系連續(xù)漸變填充,只有在存在正負(fù)值類型的數(shù)據(jù)時,雙色漸變才比較有意義。

所以用色規(guī)范還要遵循的,不過自己練著玩就沒那么多將就了,可以想怎么弄就怎么弄。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

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

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI