R语言 使用GGPLOT2设置线条的不同透明度
在这篇文章中,我们将讨论如何使用R编程语言中的GGPLOT2使线段的透明度不同。
首先,让我们绘制一个折线图,这样就可以看出其中的差别。
library("ggplot2")
function1<- function(x){x**2}
function2<-function(x){x**3}
function3<-function(x){x/2}
function4<-function(x){2*(x**3)+(x**2)-(x/2)}
df=data.frame(x = -2:2,
values = c(function1(-2:2),
function2(-2:2),
function3(-2:2),
function4(-2:2)),
fun = rep(c("function1","function2",
"function3","function4"))
)
ggplot(df,aes(x,values,col=fun))+geom_line(size=3)
输出

所有线条的透明度相同
让我们首先把所有线条的透明度改为相同的值,为此使用了alpha参数。它的最大值是1,这使得它成为一条实线。要使它成为半透明的,请提供小于1的值。
library("ggplot2")
function1<- function(x){x**2}
function2<-function(x){x**3}
function3<-function(x){x/2}
function4<-function(x){2*(x**3)+(x**2)-(x/2)}
df=data.frame(x=-2:2,
values=c(function1(-2:2),
function2(-2:2),
function3(-2:2),
function4(-2:2)),
fun=rep(c("function1","function2",
"function3","function4"))
)
ggplot(df,aes(x,values,col=fun))+geom_line(size=3, alpha=0.6)
输出

手动定义透明度
要把每一行的透明度改为其他值,可以通过数据集的属性来区分透明度的值,然后把带有每个透明度级别的值的向量传给scale_alpha_manual()函数。
scale_alpha_manual()函数手动设置alpha值。
语法: scale_alpha_manual(values)
代码
library("ggplot2")
function1<- function(x){x**2}
function2<-function(x){x**3}
function3<-function(x){x/2}
function4<-function(x){2*(x**3)+(x**2)-(x/2)}
df=data.frame(x=-2:2,
values=c(function1(-2:2),
function2(-2:2),
function3(-2:2),
function4(-2:2)),
fun=rep(c("function1","function2",
"function3","function4"))
)
ggplot(df,aes(x,values,col=fun))+geom_line(size=3, aes(alpha=fun))+
scale_alpha_manual(values=c(0.3,0.2,0.7,1))
输出

极客教程