我已经有过几次了,所以在这里:我制作了一些曲线图,其中给出了调整参数的参数估计值。给定颜色的透明等效物
通常情况下,我也有每个估计值的SD,所以我可以在他们每个人身边显示误差线。
但是,我不喜欢错误栏,并希望它的一些平滑版本。这本身没有问题(即我知道如何做到这一点)。但是,我的情节包含几个这些相似的曲线,每个都有自己的颜色。所以我想用与曲线本身的颜色相匹配的颜色在每条曲线上添加“平滑的误差区域”。当然,我想以某种透明的方式做到这一点,所以我仍然可以通过'错误区域'看到其他曲线。
所以,我的问题是:给定一个颜色(由数字,名称或rgb值指定) - 注意前两个提出了额外的问题,但这种情况经常发生,因为基本绘图函数把这些作为有效的颜色值),我怎么能找到匹配的颜色具有相同的rgb,但不同(给定)的alpha级别(透明度)。我想类似的功能:
makeTransparent<-function(someColor, alpha=100)
{
newColor<-someColor + alpha #I wish
return(newColor)
}
这应该工作的事情,如:
makeTransparent(2)
makeTransparent("red")
makeTransparent(rgb(0,0,1))
编辑我讨厌它,当我错过的东西很明显,但@themel向我指出它(THX再次)。这里有一个完整的解决方案(注:作品矢量,所以你可以通过不止一种颜色,只有一个字母在这个时候支持虽然):
#note: always pass alpha on the 0-255 scale
makeTransparent<-function(someColor, alpha=100)
{
newColor<-col2rgb(someColor)
apply(newColor, 2, function(curcoldata){rgb(red=curcoldata[1], green=curcoldata[2],
blue=curcoldata[3],alpha=alpha, maxColorValue=255)})
}
'ggplot2 :: alpha()'也许? – baptiste
'鳞片'也有'alpha',也许它们是相关的。其中之一是秤有一个非常漂亮的界面。它的输入非常灵活。我认为可以用plot(data,col = alpha(colors,0.5))代替'plot(data,col = colors)'形式的任何表达式以获得50%的透明度。即使“颜色”仅仅是一个从标准调色板中选择颜色的整数矢量,它也可以工作。 –
有点相关(根据谷歌反正),我发现它非常有用:https://gist.github.com/mages/5339689/raw/576263b8f0550125b61f4ddba127f5aa00fa2014/add.alpha.R – PatrickT