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

时间:2019-01-20 01:02:01

标签: r ggplot2 ggpubr

我正在尝试为使用ggpubr::lineplot生成的以下折线图更改抖动数据点的大小和透明度。我没有从功能文档中找到任何参数来完成这项工作。感谢任何人都可以提供帮助。

library(ggpubr)
ggline(ToothGrowth, x = "dose", y = "len", 
       add = c("mean_se", "jitter"),
       size=2)

2 个答案:

答案 0 :(得分:2)

我也看不到如何轻松完成它。但是,我们可以手动传递这些参数。首先,我们需要确定图中的哪个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

一件好事是这种方法很容易推广。

答案 1 :(得分:2)

您可以使用add.params参数轻松做到这一点:

例如:

ggline(ToothGrowth, x = "dose", y = "len", 
       add = c("mean_se", "jitter"),
       size=2, add.params = list(size = 3, alpha = 0.2))