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

如何更改ggpubr::lineplot中数据点的大小和透明度

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

    我正在尝试更改使用 ggpubr::lineplot . 我没有从函数Doc中找到任何参数来完成这项工作。如果有人能帮忙,请感激。

    library(ggpubr)
    ggline(ToothGrowth, x = "dose", y = "len", 
           add = c("mean_se", "jitter"),
           size=2)
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Julius Vainora    6 年前

    我也看不出怎么容易做到。但是,我们可以手动传递这些参数。首先,我们需要确定 layer 图中的对应点是那些抖动的点。我们可以做的事

    pp <- ggline(ToothGrowth, x = "dose", y = "len", 
                 add = c("mean_se", "jitter"), size = 2)
    idx <- which(sapply(pp$layers, function(l) "PositionJitter" %in% class(l$position)))
    

    其余的是不言自明的:

    pp$layers[[idx]]$aes_params$alpha <- 0.2
    pp$layers[[idx]]$aes_params$size <- 3
    pp
    

    enter image description here

    好的是,这种方法很容易归纳。

    推荐文章