2.4 Making maps with R --INLA处理地理空间健康数据

地图对于传达地理空间信息非常有用。在此,我们介绍一些简单的例子,展示一些常用的软件包的使用。
在R中常用于制图的一些包,即ggplot2、leaflet、mapview和tmap。在本书的其余部分,我们将展示如何使用ggplot2和leaflet包创建更复杂的地图,以可视化几个应用程序的结果。

  • 2.4.1 ggplot2
    ggplot2(https://ggplot2.tidyverse.org/)是一个基于图形的语法来创建图形的包。这意味着我们可以使用ggplot()函数和以下元素来创建一个图。
  1. 我们想要可视化的数据。

  2. 代表数据的几何形状,如点或条。形状是用geom_*()函数来指定的。例如,geom_point()用于表示点,geom_histogram()用于表示柱状图。

  3. aes()用于将数据中的变量映射到对象的视觉属性,如颜色、大小、形状和位置。

  4. 可选的元素,如比例尺、标题、标签、图例和主题。

我们可以通过使用geom_sf()函数并提供一个简单的特征(sf)对象来创建地图。注意,如果可用的数据是SpatialPolygonsDataFrame类的空间对象,我们可以用sf包的st_as_sf()函数轻松地将其转换为sf类的简单特征对象。例如,我们可以创建一个1974年北卡罗来纳州婴儿猝死的地图(SID74),如下(图2.8)。

library(ggplot2) 
map <- st_as_sf(map) 
ggplot(map) + geom_sf(aes(fill = SID74)) + theme_bw()

在这里插入图片描述

在ggplot()中,离散变量的默认色标是scale__hue()。这里表示颜色(为点和线等特征着色)或填充(为多边形或柱状图着色)。我们可以通过使用scale_grey()来改变默认比例,scalebrewer()使用RColorBrewer包的颜色(Neuwirth, 2014),scaleviridis(discrete = TRUE)则使用viridis包的颜色(Garnier, 2018)。我们也可以用scalemanual()手动定义我们自己的颜色集。请注意,这个函数有一个逻辑参数叫drop,用来决定是否在尺度中保留不常用的因子水平。连续变量的颜色标度可以用scalegradient()来定义,它在两种颜色(低-高)之间创建一个连续的梯度,scalegradient2()创建一个发散的颜色梯度(低-中-高),scalegradientn()创建一个n种颜色的梯度。我们还可以使用scaledistiller()和scale*_viridis()来分别使用RColorBrewer和viridis包的颜色。我们可以用viridis比例尺绘制SID74的地图,如下所示(图2.9)。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangboy666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值