Как добавить заголовок к ggplot, когда заголовок является именем переменной?

В конце ggplot это хорошо работает:

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

Но это не делает:

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

ни это:

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

Как я могу добавить заголовок к ggplot, когда заголовок является именем переменной?

42
задан smci 28 March 2014 в 20:28
поделиться

2 ответа

Как отмечали другие, ваш пример, кажется, работает нормально для случаев, когда переменная 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, когда в сомнениях.

24
ответ дан 26 November 2019 в 23:50
поделиться

Приведите воспроизводимый пример. Следующее работает для меня:

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

Начиная с версии 0.9.2, opts был заменен на тему :

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

Также см. ? ggtitle .

15
ответ дан 26 November 2019 в 23:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: