当标题是变量名时如何向ggplot添加标题?
Posted
技术标签:
【中文标题】当标题是变量名时如何向ggplot添加标题?【英文标题】:How to add a title to a ggplot when the title is a variable name? 【发布时间】:2011-01-22 12:23:15 【问题描述】:在 ggplot 结束时,这可以正常工作:
+ opts(title = expression("Chart chart_title..."))
但这不是:
chart_title = "foo"
+ opts(title = expression(chart_title))
也不是这个:
chart_title = "foo"
+ opts(title = chart_title)
当标题是变量名时,如何向 ggplot 添加标题?
【问题讨论】:
我很困惑,以下对我来说很好用:> meow qplot(rnorm(100), rnorm(100)) + opts(title = meow)跨度> 'opts' 已弃用。请改用“主题”。 【参考方案1】:正如其他人指出的那样,您的示例似乎适用于变量 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。
【讨论】:
奇怪...我认为这是行尾隐藏的回车(我需要更改文本编辑器!)非常感谢。【参考方案2】:请提供一个可重现的例子。以下对我来说很好:
title <- "My title"
qplot(mpg, wt, data = mtcars) + opts(title = title)
从 0.9.2 版开始,opts
一直是 replace 由 theme
提供:
qplot(mpg, wt, data = mtcars) + theme(title = title)
另外,请参阅?ggtitle
。
【讨论】:
【参考方案3】:Opts 已被弃用。一种选择是使用 labs()
myTitle <- "My title"
qplot(mpg, wt, data = mtcars) + labs(title = myTitle)
差不多。
【讨论】:
【参考方案4】:ggtitle( paste("总和是=", mysum, "计数是=", N))
mysum 和 N 是变量
【讨论】:
以上是关于当标题是变量名时如何向ggplot添加标题?的主要内容,如果未能解决你的问题,请参考以下文章
为啥在使用动态变量名时在 Sparklyr 中加 1 实际上加 2?