
作者:李誉辉
四川大学在读研究生
此次教程是关于使用ggplot2包进行地理信息可视化的,
笔者将从头到尾,条分缕析的梳理ggplot2地图可视化的知识点。
让读者对ggplot2地图可视化的过程有更深入的理解。
并可以作为知识库进行查询。
ggplot2支持2种地理数据模型:
* sp, sp对象,全称SpatialPolygonsDataFrame, 其数据类型为数据框,
使用函数geom_map()/geom_polygon() + coord_map()绘制。
* sf,sf对象,全称Simple feature,
使用函数geom_sf()/stat_sf() + coord_sf()绘制。
若要增加文本注释,则使用geom_sf_label(),geom_sf_text()。
2.1 geom_map()地图对象
geom_map(mapping = NULL, data = NULL, stat = "identity", ..., map,
na.rm = FALSE, show.legend = NA, inherit.aes = TRUE)
关键参数:
mapping, 表示要在地图上映射的美学特征,用aes()指定。data, 表示要展示在地图上的美学特征的数据集。为数据框格式,无指定则从前面继承。stat, 表示对美学特征的统计变换。更多统计变换..., 表示其它美学特征参数。如colour = "red",或size = 3指定border参数。map, 表示地图数据集(构成地图行政区域多边形边界的坐标数据),
为数据框格式。必须包含至少3个变量:x坐标或long(经度),y坐标或lat(纬度),region或id(行政区域多边形编号)。na.rm, 表示是否移除缺失值,默认FALSE则出现warning,TRUE则直接移除不显示warning。show.lengend,表示是否显示美学特征的图例,默认NA表示有美学特征则显示,FALSE表示不显示,TRUE表示一直显示。
如果有多种美学特征,可以用逻辑向量来设定要显示的几种的美学特征的图例。inherit.aes, 表示是否继承前面的美学特征,FALSE表示不继承;TRUE则表示将前面的几何特征与现在的几何特征结合起来,一起显示。
美学特征:geom_map()支持多种美学特征,相比其它geom_xxx()对象,增加了map-id特征。
常见美学特征: map-id, alpha, colour, fill, group, linetype, size。
2.1.1 数据集构成
library(ggplot2)
# 编造数据集
ids <- factor(c("1.1", "2.1", "1.2", "2.2", "1.3", "2.3"))
positions <- data.frame(
id = rep(ids, each = 4), # each=4表示每个多边形由4个点构成,即为四边形
x = c(2, 1, 1.1, 2.2, 1, 0, 0.3, 1.1, 2.2, 1.1, 1.2, 2.5, 1.1, 0.3,
0.5, 1.2, 2.5, 1.2, 1.3, 2.7, 1.2, 0.5, 0.6, 1.3),
y = c(-0.5, 0, 1, 0.5, 0, 0.5, 1.5, 1, 0.5, 1, 2.1, 1.7, 1, 1.5,
2.2, 2.1, 1.7, 2.1, 3.2, 2.8, 2.1, 2.2, 3.3, 3.2)
)
values <- data.frame(
id = ids,
value = c(3, 3.1, 3.1, 3.2, 3.15, 3.5)
)

本文详细介绍ggplot2包实现地理信息可视化的方法,包括sp和sf数据模型的使用,地图投影变换,以及具体实例演示。
871

被折叠的 条评论
为什么被折叠?



