【发布时间】:2020-07-08 14:37:58
【问题描述】:
我想在相同的色标上绘制多个 sf 对象。在 raster 包中,有一个非常方便的 zlim 参数,您可以在其中指定颜色限制。但我不知道 sf::plot() 中的等价物是什么。
在这里,我加载一个 sf 多边形并创建一个额外的虚拟变量来说明我的问题:
library(sf)
nc_sf <- st_read(system.file("shape/nc.shp", package="sf"))
nc_sf$AREA2 <- nc_sf$AREA * 2
range(nc_sf$AREA)
range(nc_sf$AREA2)
plot(nc_sf["AREA"])
plot(nc_sf["AREA2"])
这些图具有独立的色阶。
我可以用 ggplot 做到这一点:
library(ggplot2)
fullrange <- range(c(nc_sf$AREA, nc_sf$AREA2))
fullrange
ggplot() + geom_sf(data = nc_sf, aes(fill = AREA), lwd = 0.5, color = 'black') + scale_fill_gradientn(colours = sf.colors(), limits = fullrange)
ggplot() + geom_sf(data = nc_sf, aes(fill = AREA2), lwd = 0.5, color = 'black') + scale_fill_gradientn(colours = sf.colors(), limits = fullrange)
但是如何使用 sf::plot 做到这一点?
【问题讨论】: