gpt4 book ai didi

r - 如何阻止使用 lattice 包制作的 R 中的水平图的一部分?

转载 作者:行者123 更新时间:2023-12-04 10:29:12 26 4
gpt4 key购买 nike

我使用 lattice 包在 R 中绘制了一个变量的水平图。该网格对应于南亚。我只对查看南亚某些国家/地区的此变量(气溶胶光学深度)的值感兴趣。我有一个虚拟变量,它为我感兴趣的国家取值 1,否则为 0。我可以将这部分网格涂成黑色或任何其他颜色吗?

我无法显示关卡图,因为我在 stackoverflow 上的声誉很低。 (附加到 rhelp 的交叉发布消息的 pdf 现在应该出现了:)

这是我的 R 代码:

levelplot(aod ~ longitude + latitude | factor(day), data = aod_Jan, 
aspect="iso", contour = TRUE, layout=c(1,1))

enter image description here

最佳答案

由于您使用的是地理数据,也许 raster 包对您有用。例如,让我们显示法国的海拔高度(下载此 zip 文件或使用 raster::getData 函数)。 解压缩文件后:

library(raster)
fraAlt <- raster('FRA_alt')
plot(fraAlt) ## Not only France is displayed...

如果只想显示法国的海拔高度,则需要边界信息:下载RData文件(或使用 raster::getData 函数)。此 RData 包含一个 SpatialPolygonsDataFrame(名为 gadm),它可以转换为一个 Raster,方法是:

 mk <- rasterize(gadm, fraAlt)

现在您可以用边界屏蔽高度栅格:

 fraAltMask <- mask(fraAlt, x)
plot(fraAltMask) ##Now only France is displayed

最后,如果你想使用 lattice 方法,你需要 rasterVis 包:

 library(rasterVis)
levelplot(fraAlt)
levelplot(fraAltMask)

现在,加上边界:

 s <- stack(fraAlt, fraAltMask)
layerNames(s) <- c('Alt', 'AltMask')
boundaries <- as(gadm, 'SpatialLines')
levelplot(s) + layer(sp.lines(boundaries))

关于r - 如何阻止使用 lattice 包制作的 R 中的水平图的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7573011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com