В конце ggplot это хорошо работает:
+ opts(title = expression("Chart chart_title..."))
Но это не делает:
chart_title = "foo"
+ opts(title = expression(chart_title))
ни это:
chart_title = "foo"
+ opts(title = chart_title)
Как я могу добавить заголовок к ggplot, когда заголовок является именем переменной?
Как отмечали другие, ваш пример, кажется, работает нормально для случаев, когда переменная chart_title является строкой или выражением. Иногда бывает сложно создать переменную заголовка; например, может возникнуть запутанный сценарий, если chart_title использует некоторые другие переменные, и если, кроме того, вы используете некоторые греческие символы, простой вставки (...)
будет недостаточно. Чтобы создать такой заголовок, вы можете использовать что-то вроде следующего:
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, когда в сомнениях.
Приведите воспроизводимый пример. Следующее работает для меня:
title <- "My title"
qplot(mpg, wt, data = mtcars) + opts(title = title)
Начиная с версии 0.9.2, opts
был заменен на тему
:
qplot(mpg, wt, data = mtcars) + theme(title = title)
Также см. ? ggtitle
.