Создать градиентную цветную полосу с помощью ggplot2 - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть следующий код для создания цветных полос, измененный с здесь :

color.bar <- function(lut, title='') {
    min <- -1
    max <- -min
    nticks <- 5
    ticks <- seq(min, max, len=nticks)
    scale <- length(lut)/(max-min)
    pdf(NULL)
    dev.control(displaylist="enable")
    plot(c(min,max), c(10,0), type='n', bty='n', xaxt='n', xlab='', yaxt='n', ylab='', main=title, cex.main=3)
    axis(1, ticks, las=1, labels=c('MIN','','','','MAX'), cex.axis=2)
    for (i in 1:length(lut)) {
      x = (i-1)/scale + min
      rect(x, 0, x+1/scale, 10, col=lut[i], border=NA)
    }
    P <- recordPlot()
    invisible(dev.off())
    return(P)
}

myplot <- color.bar(colorRampPalette(c("light green", "yellow", "orange", "red"))(100), "Intensity")
myplot

, который производит следующее:

test

Теперь мне нужно было бы сделать то же самое в ggplot2, потому что я хочу добавить результат вместе со списком ggplots в pdf, используя grid.arrange.

Я действительно не знаю, как начать ... Кто-нибудь может помочь мне начать производить тот же вывод, используя ggplot2?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...