Белые линии в градиенте. Прямые из пакета plotrix R

У кого-нибудь есть решение для удаления белых линий, видимых здесь в градуированных прямоугольниках в верхней части графика? Они производятся с 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 базовый участок с градуированными цветными прямоугольниками

1 ответ

Решение

Мне удалось воспроизвести проблему (хотя не это изображение) с этим кодом:

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

введите описание изображения здесь

Я не очень понимаю, почему это происходит. Вы можете связаться с Джимом Лемоном, если вам нужно объяснение... а не просто стратегия исправления. Его адрес электронной почты должен появиться на вашей консоли R, если вы введете: maintainer("plotrix")

Другие вопросы по тегам