首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在某些情况下,命令geom_contour_fill无法在ggplot2中呈现

在某些情况下,命令geom_contour_fill无法在ggplot2中呈现
EN

Stack Overflow用户
提问于 2020-05-11 18:48:27
回答 1查看 439关注 0票数 1

这是我的第一个问题,尽我最大的努力使我的问题简单和可重复。

我遇到了来自geom_contour_fill库的R命令metR的问题。下面的代码显示,在某些情况下,当geom_contour_fill能够很好地处理相同的输入数据时,geom_contour无法绘制。geom_contour_fill只是在“情节”窗格中返回一个灰色框。

但是,通过将代码中的get_elev_raster命令中的缩放级别更改为z=9,geom_contour_fill再次正常工作。

我想要能够使用更高的缩放水平,我遇到了这个问题与其他地图范围随机,所以谁能看到如何解决这个问题?

谢谢!

代码语言:javascript
复制
##loading necessary libraries
library(elevatr)
library(metR)
library(ggplot2)
library(raster)

##map limits
dims <- data.frame(long = c(-97.73235, -97.78369), lat = c(30.30242, 30.25396))

##grid point from map limits
grid <- data.frame(x = seq(from = dims$long[2], to = dims$long[1], length.out = 1000),
                   y = seq(from = dims$lat[2], to = dims$lat[1], length.out = 1000))

##coordinate system
nad27 <- "+proj=longlat +datum=NAD27 +no_defs +ellps=clrk66 +nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat"

##pull elevation data
elev <- get_elev_raster(grid, prj = nad27, z = 10, clip = "bbox")

##convert to data frame
elevDF <- as.data.frame(elev, xy = TRUE)

##remove NAs
elevDF <- elevDF[!is.na(elevDF$layer),]

##geom_contour runs fine
ggplot() + 
  geom_contour(data = elevDF, aes(x = x, y = y, z = layer), size = .5, binwidth = 5)

##geom_contour fill fails - plots blank gray area
ggplot() + 
  geom_contour_fill(data = elevDF, aes(x = x, y = y, z = layer), size = .5, binwidth = 5) 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-11 20:48:16

通过实验和猜测,我发现使用seq参数可以得到一些结果:

代码语言:javascript
复制
png(); print( ggplot() + 
              geom_contour_fill(data = elevDF, 
                aes(x = x, y = y, z = layer), breaks =seq(150,175,by=5), size = .5, binwidth = 5) );dev.off()

我没有从help页面得到多少帮助,而是尝试搜索"geom_contour_filled metr",在https://cran.r-project.org/web/packages/metR/vignettes/Visualization-tools.html中找到vignette页面,然后先尝试fill,然后尝试breaks参数,看看我能得到什么。只有在z数据的范围内指定单个值才会成功,并在该范围外指定一个值会引发一个信息不足的错误(无论如何,对我来说)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61737062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档