我附上了538剧情的截图 - https://scontent-lax3-2.xx.fbcdn.net/v/t31.0-8/22218477_1588451034532053_5652546964446428775_o.png?oh=aa7436a960f2982deed7a90c997f31e4&oe=5A45A9E7 - 我试图以类似的方式格式化我的ggplot。我目前正在努力的部分是底部的深灰色阴影。我在这里有一个演示图:
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point() +
theme(plot.background = element_rect(fill = 'gray95'),
panel.background = element_rect(fill = 'red')) +
labs(caption = 'mycaption')
panel.background将整个面板的颜色设置为红色,并将plot.background的颜色设置为面板灰色的外部。我熟悉geom_rect(),但是这些只能放在我读过的面板中,参数为xmin / xmax / ymin / ymax ...无论如何我都要添加geom_rect()在整个图形的底部,而不仅仅是面板底部的x和y坐标之间?
让我知道这是否有意义,否则我可以解释更多。
谢谢!
答案 0 :(得分:1)
我不知道在ggplot中直接实现这一点的方法,但你肯定可以使用grid包的更一般的功能来实现。如果您之前没有使用它,我发现this tutorial有助于您开始使用它。您可以随意布置一个页面,其中放置了ggplot图表。
或者,您可以查看cowplot包。它还允许您更简单地布置页面并更简单地完成许多网格功能。您应该能够从文档中找出如何做您想做的事情。
答案 1 :(得分:1)
这个网站上已有几个答案;这是一种方法:
library(gridExtra)
fthbar <- grobTree(rectGrob(gp=gpar(fill="grey50",col=NA)),
textGrob("LEFT", x=0, hjust=0, gp=gpar(col="white")),
textGrob("RIGHT", x=1, hjust=1, gp=gpar(col="white")), cl="ann")
heightDetails.ann <- function(x) unit(1,"line")
grid.arrange(qplot(rnorm(10),rnorm(10)), bottom = fthbar)