Spatial Visualization with ggplot2
ggplot2的精髓在于图层叠加,并且它的默认参数可以实现良好的可视化效果。ggmap是基于ggplot2包的图形语法。
- 散点图
- ggplot
- ggmap
散点图
读取数据
1 | library(rgdal) |
2.读取shapfile数据
3.将因子型数据转换为数值型数据
ggplot底图
底图基本结构:数据名称和X轴、Y轴参数。
1 | library(ggplot2) |
**ggplot():第一个参数:数据名称;第二个参数:ggplot():内部的aes()**分别是X轴、y轴参数。
增加图层
1 | p + geom_point(aes(color = Partic_Per, size = Pop_2001)) + |
1.geom_point内部的**aes():**点的
颜色
、大小
参数
2.**geom_text:**第一个参数:点的大小
;第二个参数点标签的内容
ggmap
ggmap是ggplot2在空间数据可视化上的应用。ggmap不能直接识别空间数据,需要用fortify()函数将空间数据转换为data.frame格式。
转化data.frame
1 | library(rgeos) |
1.fortify()位于
maptools/rgeos
安装包下
2.将空间数据lnd转化为了data.frame
格式。
查看数据结构
1 | summary(lnd) |
运行以上代码, 发现经过
fortify()
函数处理后,lnd_f
不再具有lnd的属性数据(ons_label,name,Partic_Per,Pop_2001)
。
因此需要dplyer中的left_join()
函数进行属性连接。
属性连接
1 | head(lnd_f, n = 2) # peak at the fortified data |
1.查看lnd_f的前两行
2.生成 行名称变量:id
3.查看lnd数据槽的前两行
4.根据id将左边的lnd_f数据与lnd中的属性数据连接
5.查看lnd_f的数据结构
作图
1 | map <- ggplot(lnd_f, aes(long, lat, group = group, fill = Partic_Per)) + |
1.lnd_f:data.frame; aes: X轴经度,Y轴纬度,Partic_per必须为data.frame:lnd_f中的变量
2.空间数据作图常用参数:geom_polygon()绘制多边形
3.X轴标题,Y轴标题
4.图例标题
5.图表总标题
6.作图,有默认颜色,如图17所示
7.作图,指定颜色:低为”白色”,高为”黑色”,如图18所示