渐变中的白线。来自R&#39的plotrix包

时间:2015-06-21 17:04:11

标签: r colors rstudio gradient plotrix

任何人都有一个解决方案,可以删除在剧情顶部的渐变矩形中看到的白线?这些是使用gradient.rect包中的plotrix生成的。

gradient.rect(as.Date("1979-05-04"),70,as.Date("1990-11-28"),80,col=smoothColors("royalblue",100.0,"white"),border=NA,gradient="x")

它们既出现在RStudio的输出中,也出现在导出的PNG中。

R base plot with graduated color rectangles

1 个答案:

答案 0 :(得分:2)

我能够使用以下代码重现问题(尽管不是那个图像):

png();plot(x=seq(as.Date("1979-05-04"),as.Date("1990-11-28"),length=50),
           1:50,type="n",axes=FALSE)  # set up plot coords correctly
plotrix::gradient.rect(as.Date("1979-05-04"),5, as.Date("1990-11-28"),6, 
                      col=plotrix::smoothColors("royalblue", 100.0,"white"), 
                      border=NA,gradient="x",nslices=121); 
dev.off()

然后我看到了三条薄而白的垂直条纹。我查看了RGB值并绘制了十六进制等值:

plot(NA, xlim=c(1,110),ylim=c(0x4169E1, 0xFFFFFF) )
lines(1:102, as.numeric(
              paste0('0x', 
                     substr( plotrix::smoothColors("royalblue",100.0,"white"),
                             2,7)
                    ) ) )

我注意到序列中存在不均匀的间隙,因此尝试使用较少数量的颜色并获得更好的成功:

png(); plot(x=seq(as.Date("1979-05-04"),as.Date("1990-11-28"),length=50),1:50,type="n",axes=FALSE)
plotrix::gradient.rect(as.Date("1979-05-04"),20,as.Date("1990-11-28"),30,
       col=plotrix::smoothColors("royalblue",55,"white"),border=NA,gradient="x");dev.off()

enter image description here

我真的不明白为什么会这样。如果您需要解释,可以联系Jim Lemon,而不仅仅是修复策略。如果您输入:maintainer("plotrix")

,他的电子邮件地址应出现在您的R控制台上