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

use*_*306 5 r ggplot2

我有一个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()
Run Code Online (Sandbox Code Playgroud)

Hug*_*ugh 7

直接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))
Run Code Online (Sandbox Code Playgroud)

c(0.1, 0.1, 1, 1)意志的顺序当然取决于你想要不透明的线.