gradient.rect 中的白线来自 R 的 plotrix 包

White lines in gradient.rect from R's plotrix package

有人有解决方案可以去除图中顶部渐变矩形中的白线吗?这些是使用 plotrix 包中的 gradient.rect 生成的。

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 中。

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

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

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

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