在 R 中使用 ggplot2 将线条设置为不同的透明度
在本文中,我们将讨论如何使用 R 编程语言中的 GGPLOT2 使线图的线透明度不同。
首先,让我们绘制一个折线图,以便差异明显。
R
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)
R
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)
R
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))
输出:
所有线条的透明度相同
让我们首先将所有线条的透明度更改为相同的值,因为使用了这个 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 的值。
Syntax: 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))
输出: