43

在 ggplot 结束时,这可以正常工作:

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

但这不会:

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

也不是这个:

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

当标题是变量名时,如何向 ggplot 添加标题?

4

4 回答 4

29

Opts 已被弃用。一种选择是使用 labs()

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

基本上一样。

于 2012-12-29T23:55:23.957 回答
24

正如其他人指出的那样,您的示例似乎适用于变量 chart_title 是字符串或表达式的情况。有时构造 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 ) 可以帮助您入门,但即使是该常见问题解答也基本上告诉您在有疑问时搜索 R-Help。

于 2010-03-01T23:17:44.490 回答
15

请提供一个可重现的例子。以下对我来说很好:

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

自 0.9.2 版以来,opts替换theme

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

另请参阅?ggtitle

于 2010-03-02T02:11:05.393 回答
3

ggtitle(paste("总和是=", mysum, "计数是=", N))

mysum 和 N 是变量

于 2020-10-18T17:37:17.113 回答