更改grid.arrange输出的背景颜色

时间:2012-12-03 20:47:26

标签: r ggplot2 r-grid

我正在使用grid.arrange包中的gridExtra将两个图表放在一个页面上并将其保存到png文件中。我想更改grid.arrange生成的最终png文件的背景颜色。可能吗?我无法找到任何信息。

grid.arrange(p1, p2, main=textGrob("CPU Util", gp=gpar(cex=1.2, fontface="bold", col="#990000")), ncol = 1, clip=TRUE)

2 个答案:

答案 0 :(得分:7)

尝试将bg =参数设置为png()

library(gridExtra)
library(lattice)

png(bg = "wheat1")
    grid.arrange(xyplot(1:10~1:10, pch=16), xyplot(1:4~1:4, pch=16))
dev.off()

enter image description here

答案 1 :(得分:0)

使用ggplot2时,我还发现ggdraw()包中的cowplot函数很有用,如图here所示。

这里是一个例子:

library(ggplot2)
library(gridExtra)

# Create two plots
p1 <- ggplot(mtcars, aes(hp, mpg)) + 
  geom_point() + 
  theme(plot.background = element_rect(fill="wheat1", color = NA))
p2 <- ggplot(mtcars, aes(hp, drat)) + 
  geom_point() + 
  theme(plot.background = element_rect(fill="wheat1", color = NA))

# stitch them together
g <- grid.arrange(p1, p2, nrow = 1)
# final touch
g2 <- cowplot::ggdraw(g) + 
  theme(plot.background = element_rect(fill="wheat1", color = NA))

# check the plot
plot(g2)
# save it as png
ggsave("img/plot-background.png", g2)

enter image description here

虽然p1p2已经设置了plot.background填充集,但它们之间仍然存在一条细线,当使用grid.arrangecowplot::ggdraw包裹java -cp bootApp.jar -Dloader.main=org.your.package.DemoApplication org.springframework.boot.loader.PropertiesLauncher 时,它们之间会消失相同的填充。好像您将两块瓷砖缝合在一起,然后在最后一层油漆上刷。