String 在绘图函数中将透明度应用于颜色向量
我试图在String 在绘图函数中将透明度应用于颜色向量,string,r,concatenation,vectorization,String,R,Concatenation,Vectorization,我试图在plot函数中使用alpha转换为col参数。如何在不必为每种颜色编写col=alpha(每种颜色,.5)的情况下实现这一点 有没有办法将其矢量化 以下是可复制的示例: set.seed(10) mydata <- rnorm(100) mycol <-c("#FDF6E3", "#B3E2CD", "#FDCDAC", "#CBD5E8", "#F4CAE4", "#E6F5C9", "#FFF2AE", "#F1E2CC", "#CCCCCC") par(bg='gray
plot
函数中使用alpha
转换为col
参数。如何在不必为每种颜色编写col=alpha(每种颜色,.5)
的情况下实现这一点
有没有办法将其矢量化
以下是可复制的示例:
set.seed(10)
mydata <- rnorm(100)
mycol <-c("#FDF6E3", "#B3E2CD", "#FDCDAC", "#CBD5E8", "#F4CAE4", "#E6F5C9", "#FFF2AE", "#F1E2CC", "#CCCCCC")
par(bg='gray30')
plot(mydata,col=mycol,pch=19,cex=3)
mycol_alpha <- paste0('alpha(\'',mycol,'\',.5)')
par(bg='white')
正如@Robert所指出的,矢量化不是你的问题
加
transparency我不这么认为,但是你把alpha
拼错成了aphla
。。。你还看到透明度吗?另外,您使用的paste0
已经矢量化了。我不完全确定问题是什么。我假设alpha
是一个自定义函数。它不是矢量化的吗?为什么不呢?可以通过编写Vectorize(alpha)
对其进行矢量化吗?对于基本解决方案,请尝试grDevices::adjustcolor
基本解决方案是最通用的,但是scales::alpha
已经矢量化了(如果您正在使用的是alpha()
函数)。使用该函数,您不需要粘贴,只需mycol\u alpha即可
set.seed(10)
mydata <- rnorm(100)
mycol <-c("#FDF6E3", "#B3E2CD", "#FDCDAC", "#CBD5E8", "#F4CAE4", "#E6F5C9", "#FFF2AE", "#F1E2CC", "#CCCCCC")
par(bg='gray30')
plot(mydata,col=scales::alpha(mycol,.5),pch=19,cex=3)