您好,登錄后才能下訂單哦!
R語言數據地圖中的全球填色地圖是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
今天介紹的是美國地圖,同樣的方法技巧,不同的對象。
整個過程以及代碼并沒有太大差別,只要拿到世界地圖素材,根據之前的代碼,自己修改參數和指標名稱以及引用路徑,完全可以做出來(盡管并不一定理解每句代碼的含義)。
R語言環境:
R x64 3.31/Rstudio 0.99.903/ggplot2 2.1.0
代碼過程:
加載功能所需支持的工具包:
library(ggplot2)
library(plyr)
library("maptools")
導入并整理世界地圖地理信息數據:
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) #轉化為數據框
world_map_data <- join(world_map1, xs, type = "full") #合并兩個數據框
導入指標文件數據并合并成作圖數據:
mydata <- read.csv("C:/rstudy/wold_map/Region_map.csv") #讀取指標數據,csv格式
world_data <- join(world_map_data, mydata, type="full") #合并兩個數據框
地圖填充過程代碼:
這里還是通過調整映射方式參數:coord_map("ortho", orientation = c(30, 110, 0))可以變換地圖的呈現視角:
常見平面視角的全球地圖填充:
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)
)#平面地圖
立體空間地圖:(添加有映射方式參數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語言認可的注釋語句,帶運行代碼的時候不必清除,可以直接跑。
第二、由于全球地圖呈現的信息比較豐富,所有的海島和群島信息全部都會上色,特別是北歐、北美(加拿大)、大洋洲這些多島嶼、群島低于會有大量的密集分布的小島,而填色代碼在填充時,多邊形線條填充為灰色,造成很多地區邊界以及島鏈出現大面積黑灰色。
看起來很不美觀,所以如果可以將線條色設置為白色,這樣效果會好些:geom_polygon(colour="white")
但是這樣做也會有不足,因為漸變色的色值范圍是從(low="white",high="steelblue")連續過渡的,這樣數值接近于零的地區會被填充為純白,這樣與邊線的白色會混雜,導致局部地區邊界難辨。
當然你也可以嘗試用雙色過渡。
我把漸變范圍的低值與高值起點色和重點色替換成了:(low="DeepSkyBlue",high="OrangeRed")。
看起來比剛才由low="white"到high="steelblue"看著舒服一些。
但是通常來講根據數據地圖的填色規范:
指標都是正值,應該使用單色系連續漸變填充,只有在存在正負值類型的數據時,雙色漸變才比較有意義。
所以用色規范還要遵循的,不過自己練著玩就沒那么多將就了,可以想怎么弄就怎么弄。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。