我有一个这样的数据框:
dftt <- data.frame(values = runif(11*4,0,1),
col = factor(c(rep(2,4),
rep(1,4),
rep(5,9*4))),
x= rep(1:4, 11*4),
group=rep(factor(1:11), each=4)
)
我像这样绘制
library(ggplot2)
ggplot(dftt, aes(x=x, y=values, group=group, color=col)) + geom_line()
这个情节中的蓝线只是&#34;背景&#34;并没有红色和绿色那么重要,所以我想降低蓝线的alpha级别。
我尝试了这个新数据框:
dftt <- data.frame(values = runif(11*4,0,1),
col = factor(c(rep(2,4),
rep(1,4),
rep(5,9*4))),
x= rep(1:4, 11*4),
group=rep(factor(1:11), each=4),
lincol = factor(c(rep(1,9*4), rep(2,2*4)))
)
此数据框有一个新变量lincol
,我试图将其绘制成如下:
ggplot(dftt, aes(x=x, y=values, group=group, color=col)) +
geom_line(aes(alpha=lincol))
但是这个新情节看起来像这样:
阿尔法是正确的,但我失去了红色和绿色。传说也很奇怪。
我还想将alpha级别专门设置为0.5。
答案 0 :(得分:2)
无需修改数据。为TRUE
(FALSE
)添加alpha
/ alpha = col == 5
条件:
library(ggplot2)
ggplot(dftt, aes(x, values, group = group, color = col, alpha = col == 5)) +
geom_line() +
scale_alpha_manual(values = c(1, 0.5), guide = FALSE)
要设置有用的alpha
值,请使用scale_alpha_manual
并删除alpha
使用guide = FALSE
的其他图例。
像这样你: