R语言使用spplot()出图教程

简介

spplot()是sp库中的一个函数,主要用于空间信息的可视化。

作者也是第一次接触这个函数,很多问题我也不知道怎么解决,欢迎大佬们移步官方文档:https://rdrr.io/cran/sp/man/spplot.html

菜鸡作者的使用体验:缺点:不太好上手,不如Arcmap功能全;优点:R语言做统计分析比较方便,直接用R 出图比把结果导出后用arcgis搞方便。

教程目标

将GWR模型结果中的localR2可视化

最终结果

具体步骤

Step1: 从本地读取底图数据(shp文件)

>library(rgdal)

>tianjin <- readOGR(dsn = "/Users/GraduatePaper", layer = "TianjinCounty2")

dsn的值为shp文件存储的文件夹

layer的值为shp文件的文件名。⚠️注意:写文件名的时候不要包含“.shp”

Step2: 设置除出图主题图层外其他图层的格式

在教程中,共涉及4个图层:指南针、比例尺、底图(天津市行政区划)、租房localR2

其中“租房localR2”为主题图层;

底图:

不需要调整(投影已经与主题图层一致),但需要转变成list

>l4=list(tianjin)

指南针:

>l2=list("SpatialPolygonsRescale", layout.north.arrow(), offset = c(116.8,40.0),scale = 0.08)

前两个参数不说了。

offset参数代表了指南针的位置,默认的位置是原点。但是在出图的时候spplot() 的出图范围是只比出图数据的外接矩形大一点点的一个矩形,所以我们要根据出图数据的坐标范围来设置offset的值,否则出的图中看不到指南针。我获取出图数据坐标范围的方法:

>localR2=tjzf.res$SDF$Local_R2
>map.localR2= SpatialPointsDataFrame(data=data.frame(localR2),coords=cbind(tianjinzufang$lon, tianjinzufang$lat))
>summary(map.localR2)

scale参数代表了指南针和默认值的比例,<1就是比默认的尺寸小,>1就是比默认的尺寸大。仍是根据出图数据的坐标范围设置。默认的尺寸如图:

比例尺:

>l3=list("SpatialPolygonsRescale", layout.scale.bar(), offset = c(116.88,40.02),scale = 0.2,fill=c("transparent","black"))

offset和scale的设置与指南针同理。fill参数代表了比例尺的样式。

Step3: 出图

>colours = c("dark green", "green", "yellow", "orange")
>spplot(map.localR2, cuts=quantile(localR2), col.regions=colours, main = "Local_R2 (tjesf)",sp.layout=list(l4,l2,l3))

参数1(map.localR2): 出图主题数据

参数2(cuts):数据如何分段。如果要手动分段,quantile函数改成seq( )

参数3(col.regions): 图例颜色

参数4(main):标题

参数5(sp.layout):除主题图层之外的图层

 

 

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值