在绘制地图时,我们一般都是利用“ArcGIS”"MapGIS"等专业软件进行手动操作。这样制作的地图自定义的效果强,我们可以随意调换地图的各种元素,但是今天本文要将的是如何使用R语言绘制具备地图三要素的精美地图,当然代码绘图能做的远远不止这些,理论上来说,它可以完成ArcGIS的任何效果,特别是在绘制很多具有相同样式的地图是有独特的优势。
下面就是R语言的代码了。
# 设置工作目录
setwd("G:/R/R_study")
# 加载包
library(sf)
library(tmap)
# 读取数据
gz_sf <- st_read("广州市.shp")
point_sf <- st_read("道路点.shp")
line_sf <- st_read("道路线.shp")#选用好看的色板,that is very nice
tm_shape(gz_sf) + # 这里以属性表里的“name”字段做颜色的分层显示,palette是颜色的样式tm_polygons("name", palette = "PuBu") + # 让图例显示在地图框的里面,也就是把outside属性设置为falsetm_legend(outside = FALSE) +# 在地图上叠加点,线图层,并且设置它们的颜色tm_shape(line_sf) + tm_lines(col = "grey30") +tm_shape(point_sf) + tm_dots(col = "black") +# 在布局(latout)中选择显示边框,并且设置好图例的大小tm_layout(frame = TRUE,legend.height = 0.4) +# 添加指北针,并设置样式tm_compass(type = "arrow", position = c("left","top")) +# 添加比例尺,并且设置样式和位置(左上角)tm_scale_bar(position = c("left","bottom")) +# 添加地图格网,自定义tm_grid(x = c(113.2, 113.6, 114),y = c(23, 23.5),projection = "EPSG:4326"
效果图
欢迎持续关注,内容同步在小编的公众号“梧桐GIS”同步发布哦!创作不易,希望大家多多支持