R語言數(shù)據(jù)地圖中的全球填色地圖是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有古雷港免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
今天介紹的是美國地圖,同樣的方法技巧,不同的對(duì)象。
整個(gè)過程以及代碼并沒有太大差別,只要拿到世界地圖素材,根據(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個(gè)形狀
world_map1 <- fortify(world_map) #轉(zhuǎn)化為數(shù)據(jù)框
world_map_data <- join(world_map1, xs, type = "full") #合并兩個(gè)數(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") #合并兩個(gè)數(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)
)#平面地圖
立體空間地圖:(添加有映射方式參數(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)
)#映射成空間地圖
以上的語法有幾點(diǎn)需要提示一下:
第一、代碼中帶#號(hào)后的文本是R語言認(rèn)可的注釋語句,帶運(yùn)行代碼的時(shí)候不必清除,可以直接跑。
第二、由于全球地圖呈現(xiàn)的信息比較豐富,所有的海島和群島信息全部都會(huì)上色,特別是北歐、北美(加拿大)、大洋洲這些多島嶼、群島低于會(huì)有大量的密集分布的小島,而填色代碼在填充時(shí),多邊形線條填充為灰色,造成很多地區(qū)邊界以及島鏈出現(xiàn)大面積黑灰色。
看起來很不美觀,所以如果可以將線條色設(shè)置為白色,這樣效果會(huì)好些:geom_polygon(colour="white")
但是這樣做也會(huì)有不足,因?yàn)闈u變色的色值范圍是從(low="white",high="steelblue")連續(xù)過渡的,這樣數(shù)值接近于零的地區(qū)會(huì)被填充為純白,這樣與邊線的白色會(huì)混雜,導(dǎo)致局部地區(qū)邊界難辨。
當(dāng)然你也可以嘗試用雙色過渡。
我把漸變范圍的低值與高值起點(diǎn)色和重點(diǎn)色替換成了:(low="DeepSkyBlue",high="OrangeRed")。
看起來比剛才由low="white"到high="steelblue"看著舒服一些。
但是通常來講根據(jù)數(shù)據(jù)地圖的填色規(guī)范:
指標(biāo)都是正值,應(yīng)該使用單色系連續(xù)漸變填充,只有在存在正負(fù)值類型的數(shù)據(jù)時(shí),雙色漸變才比較有意義。
所以用色規(guī)范還要遵循的,不過自己練著玩就沒那么多將就了,可以想怎么弄就怎么弄。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
名稱欄目:R語言數(shù)據(jù)地圖中的全球填色地圖是怎樣的
瀏覽路徑:http://www.rwnh.cn/article42/ippchc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、服務(wù)器托管、靜態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)