使用ggplot2创建渐变色条

时间:2019-02-21 09:36:05

标签: r ggplot2 colors

我有以下代码创建颜色条,并从here进行了修改:

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中进行完全相同的操作,因为我想使用grid.arrange将结果以及ggplots列表添加到pdf中。

我真的不知道如何开始...有人可以帮助我开始使用ggplot2产生相同的输出吗?

0 个答案:

没有答案