代码之家  ›  专栏  ›  技术社区  ›  qwr

ggplot stat_density2d无法使用地砖几何图形绘制等高线

  •  1
  • qwr  · 技术社区  · 6 年前

    将等高线与 stat_density2d 给出错误:

    ggplot(faithful, aes(x = eruptions, y = waiting, fill = ..density..)) + 
      stat_density2d(geom = "tile")
    

    功能。默认为连续。is.finite(x)中的错误:默认值 未为“closure”类型实现方法

    使用 contour = F

    1 回复  |  直到 6 年前
        1
  •  2
  •   alistaire    6 年前

    library(ggplot2)
    
    ggplot(faithful, aes(x = eruptions, y = waiting)) + 
        stat_density2d(aes(fill = ..density..), geom = "raster", contour = FALSE) + 
        stat_density2d()
    

    如果您的目标是填充轮廓,那么如果不扩展ggplot,将非常困难。令人高兴的是,这项工作在过去几年已经完成 metR

    ggplot(faithfuld, aes(eruptions, waiting, z = density)) + 
        metR::geom_contour_fill()
    

    注意,我切换到了 faithfuld geom_contour_fill 喜欢 geom_contour 为您进行2D密度估计,但调用 MASS::kde2d (什么 stat_density2d 使用)并将结果解压缩到适合 等高线填充 .