如何在 ggplot 中添加一个变量名作为标题?

43

在ggplot的结尾,这个操作很好:

+ opts(title = expression("Chart chart_title..."))

但这个不行:

chart_title = "foo"
+ opts(title = expression(chart_title))

也不是这样:

chart_title = "foo"
+ opts(title = chart_title)

我该如何在 ggplot 中添加标题,而标题是一个变量名?


1
我有点困惑,以下代码对我来说完全可以运行:
meow <- "meow" qplot(rnorm(100), rnorm(100)) + opts(title = meow)
- Jonathan Chang
2
"opts" 已被弃用,请使用 "theme"。 - tumultous_rooster
4个回答

30

Opts被弃用了。一个选项是使用labs()。

myTitle <- "My title"
qplot(mpg, wt, data = mtcars) + labs(title = myTitle)

基本上一样。


25

正如其他人指出的那样,您的示例在变量chart_title为字符串或表达式的情况下似乎运行正常。有时构建标题变量可能会很棘手;例如,如果chart_title使用其他变量,并且此外还使用了一些希腊字符,因此简单的paste(...)不足以满足需求,可能会引起混淆的情况。要构建这样的标题,您可以使用以下代码:

foo <- rnorm(100)
number <- 1
chart_title <- substitute(paste("Chart no. ",number,": ",alpha," vs ",beta,sep=""), list(number = number))
qplot(foo,foo) + opts(title = chart_title)

构建标题时另一个方便的函数是bquote()。编程式的标题构建可能会很混乱;R FAQ 7.13 (http://cran.r-project.org/doc/FAQ/R-FAQ.html) 可以帮助您入门,但即使那个FAQ告诉您在怀疑时搜索R-Help。


奇怪...我认为是行末隐藏了回车符(我需要更改文本编辑器!)非常感谢。 - John

15

请提供一个可重现的示例。以下对我来说都正常工作:

title <- "My title"
qplot(mpg, wt, data = mtcars) + opts(title = title)

自0.9.2版本以来,opts已被替换为themereplace

qplot(mpg, wt, data = mtcars) + theme(title = title)

此外,请参见?ggtitle


4
ggtitle( paste( "The sum is =", mysum, "The Count is =", N ) )

mysum和N是变量


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