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

Joh*_*n 42 r title ggplot2

在ggplot结束时,这很好用:

+ opts(title = expression("Chart chart_title..."))
Run Code Online (Sandbox Code Playgroud)

但这不是:

chart_title = "foo"
+ opts(title = expression(chart_title))
Run Code Online (Sandbox Code Playgroud)

也不是这样

chart_title = "foo"
+ opts(title = chart_title)
Run Code Online (Sandbox Code Playgroud)

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

Gre*_*reg 28

Opts正在被弃用.一种选择是使用实验室()

myTitle <- "My title"
qplot(mpg, wt, data = mtcars) + labs(title = myTitle)
Run Code Online (Sandbox Code Playgroud)

几乎相同的.


Leo*_*yev 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)
Run Code Online (Sandbox Code Playgroud)

构建标题时派上用场的另一个功能是bquote().程序化的标题建设可能是一个混乱的业务; R FAQ 7.13(http://cran.r-project.org/doc/FAQ/R-FAQ.html)可以帮助您入门,但即使该FAQ基本上也会告诉您在有疑问时搜索R-Help.


had*_*ley 15

请提供可重复的示例.以下工作对我来说很好:

title <- "My title"
qplot(mpg, wt, data = mtcars) + opts(title = title)
Run Code Online (Sandbox Code Playgroud)

自版本0.9.2起,opts已被替换theme:

qplot(mpg, wt, data = mtcars) + theme(title = title)
Run Code Online (Sandbox Code Playgroud)

另外,请参阅?ggtitle.