在ggplot2图中添加标题,就像在facet_wrap图中显示的标题一样。

4

可以为单个图形添加标题,例如:

library(ggplot2)
gdURL <- "http://www.stat.ubc.ca/~jenny/notOcto/STAT545A/examples/gapminder/data/gapminderDataFiveYear.txt"
gDat <- read.delim(file = gdURL)
jDat <- droplevels(subset(gDat, continent != "Oceania"))
str(jDat)

jYear <- 2007
q <- ggplot(subset(jDat, year == jYear),
            aes(x = gdpPercap, y = lifeExp)) + scale_x_log10()
q + geom_point()

q + geom_point(aes(size = sqrt(pop/pi)), pch = 21)

enter image description here

如果要在像这样的 facet_wrap 图中显示标题(以灰色框和图表集成的形式)应该怎么做?


注:facet_wrap 是 ggplot2 包中的一个函数,用于绘制多个子图。
r <- q +
   geom_point(aes(size = sqrt(pop/pi)), pch = 21, show_guide = FALSE) +
   scale_size_continuous(range=c(1,40))

r <- r + facet_wrap(~ continent)
r + aes(fill = continent)

enter image description here


你可以在数据集中添加一个额外的列作为分面列,并且只包含一个类别。 - jraab
1
也许您可以更好地阐述您的问题? - DatamineR
1个回答

3

根据 @jraab 的评论,其中一种方法是添加一个虚拟列并使用 facet_grid:

jDat$dummy <- NA

ggplot(subset(jDat, year == jYear), aes(x = gdpPercap, y = lifeExp)) +
  scale_x_log10() +
  geom_point() +
  facet_grid(. ~ dummy)

如果您想操作标题,可以使用以下代码: facet_grid(. ~ dummy, labeller=label_bquote("我的新标题")) 示例结果如下图所示: 绘图

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接