📜  在 R 中使用 ggplot2 将线条设置为不同的透明度

📅  最后修改于: 2022-05-13 01:54:41.179000             🧑  作者: Mango

在 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 的值。

代码:

电阻

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)) 

输出: