将线条设置为不同的透明度

Set lines to different transparency

我有一个 ggplot,它绘制了 4 个不同的系列作为线条。我想将每一行设置为不同的透明度。我该怎么做呢?更具体地说,我希望其中两条线是透明的,两条线是不透明的。我知道如何使用 alpha 将所有线条设置为相同的透明度,但现在如何单独设置透明度。

这里是示例数据和代码:

mydata = data.frame(rep(1:4,4),runif(16),c(rep("A",4),rep("B",4),rep("C",4),rep("D",4)))
colnames(mydata) = c("month","price","series")
library(ggplot2)
ggplot(mydata,aes(month,price,color=series))+geom_line()

alpha指向美学变量并使用scale_alpha_manual

ggplot(mydata,aes(month,price,color=series, alpha=series)) + 
geom_line() + 
scale_alpha_manual(values = c(0.1, 0.1, 1, 1))

c(0.1, 0.1, 1, 1) 的顺序当然取决于您希望不透明的行。