У меня есть следующий код для создания цветных полос, измененный с здесь :
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
, который производит следующее:

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