删除ggplot2 geom_pointrange中的附加透明度

删除ggplot2 geom_pointrange中的附加透明度,r,ggplot2,transparency,R,Ggplot2,Transparency,我正在生成效应大小和相关置信区间的数字,例如: 使用ggplot2的geom_pointrange。我希望第二条点线是透明的,但透明度不具有相加性(即,仅为一种纯色,而不是通过点显示为较暗的线) 我使用以下选项应用自定义颜色: + scale_colour_manual(values=c("#66CD0050","#66CD00")) 谢谢你的建议 最近一封邮件的评论正好回答了这个问题。使用scale\u color\u手册调用定义颜色将生成请求的图像。请参见下面的示例 library(gg

我正在生成效应大小和相关置信区间的数字,例如:

使用ggplot2的geom_pointrange。我希望第二条点线是透明的,但透明度不具有相加性(即,仅为一种纯色,而不是通过点显示为较暗的线)

我使用以下选项应用自定义颜色:

+ scale_colour_manual(values=c("#66CD0050","#66CD00"))

谢谢你的建议

最近一封邮件的评论正好回答了这个问题。使用
scale\u color\u手册
调用定义颜色将生成请求的图像。请参见下面的示例

library(ggplot2)

dat <- data.frame(effect_size = c(-0.1, -0.1),
                  lcl = c(-0.5, -0.2),
                  ucl = c(0.3, -0.01),
                  sla = c("SLA1", "SLA2"))

ggplot(dat) +
  theme_classic() +
  aes(x = sla, y = effect_size, ymin = lcl, ymax = ucl, color = sla) +
  geom_pointrange() +
  geom_hline(yintercept = 0, linetype = 2) +
  scale_color_manual(values = c("SLA1" = "#66CD00",
                                "SLA2" = "#cfefb0")) +
  coord_flip()

packageVersion("ggplot2")
# [1] ‘2.2.1.9000’
库(ggplot2)

dat如果绘图是可复制的(即请提供一些数据和代码来生成绘图),那就太好了。我怀疑使用alpha透明性将是一个挑战。我能想到的唯一方法是,如果你把点和线画成一个单独的对象,这意味着你必须手工构造它。简单地使用两种不同的颜色(没有alpha透明度)可能会更简单。你真的是在要求一种变通方法来破坏R采用的标准墨迹模型。因此,你有义务提供一个日期对象来处理。只需使用与白色上的31%(“50”)透明度#66CD00相对应的颜色,根据Gimp中的颜色选择器,这是#cfefb0-这将近似于您想要的颜色。