为什么GR设备颜色修改器不';在R的'rug()'和'axis()'中不工作?

为什么GR设备颜色修改器不';在R的'rug()'和'axis()'中不工作?,r,plot,colors,R,Plot,Colors,我注意到一些图形功能(例如rug())不能与gr设备颜色修改功能(例如adjustcolor(),rgb()等)一起使用。下面,我提供一些例子 问题: 既然adjustcolor()和rgb()不起作用,我想知道在rug()(见下文)的情况下,如何在下面的rug()调用中产生透明效果(也称为alpha参数) 更新: 即使我运行我们同事的,@AkselA,rug()code(见下面他的答案),我也无法复制他的结果。如有任何建议,我们将不胜感激 x = rnorm(1e2) hist( x )

我注意到一些
图形
功能(例如
rug()
)不能与
gr设备
颜色修改功能(例如
adjustcolor()
rgb()
等)一起使用。下面,我提供一些例子

问题: 既然
adjustcolor()
rgb()
不起作用,我想知道在
rug()
(见下文)的情况下,如何在下面的
rug()
调用中产生透明效果(也称为
alpha
参数)

更新: 即使我运行我们同事的,@AkselA
rug()
code(见下面他的答案),我也无法复制他的结果。如有任何建议,我们将不胜感激

x = rnorm(1e2)
hist( x )

 rug( x , col = adjustcolor("pink" , .5) ) # Doesn't work
 rug( x , col = rgb(1, 0, 0 , .5       ) ) # Doesn't work

 axis(1 , col = adjustcolor("pink" , .5) ) # Doesn't work
 axis(1 , col = rgb(1, 0, 0 , .5       ) ) # Doesn't work

plot( x , col = adjustcolor("pink" , .5) ) # works
plot( x , col = rgb(1, 0, 0 , .5       ) ) # works

这对我来说似乎是完美的,因为这两个函数的输出只是一个简单的rgb十六进制字符串,这在R函数中几乎被普遍接受为颜色参数

x = rnorm(1e2)

par(mfrow=c(1, 3), mar=c(2, 2, 2, 1))
hist(x)
rug(x, col = adjustcolor("red", 1), ticksize=0.05, lwd=0.6)

hist(x)
rug(x, col = adjustcolor("red", 0.3), ticksize=0.05, lwd=0.6)

hist(x); adjustcolor("red", 0.3)
rug(x, col = "#ff00004D", ticksize=0.05, lwd=0.6)

也许设备出了问题。如果你尝试,会发生什么

png("rugRedTransparent.png", 550, 400)
hist(x)
rug(x, col = "#FF00004D", ticksize=0.05, lwd=1)
dev.off()

Bu仍然当我运行你的
rug()
代码以获取最中间和最右边的直方图时,我没有得到像你这样的结果。它变得完全无色,什么也看不出来。@parvinkarimi:奇怪。
hist(x,col=“#ff00004D”)
是否仍能产生预期的结果?正如我所说,
hist(x,col=“#ff00004D”)
有效,但
rug(x,col=“#ff00004D”)
根本不起作用。