Подтвердить что ты не робот

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

В конце ggplot это отлично работает:

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

Но это не так:

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

и это:

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

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

4b9b3361

Ответ 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) поможет вам начать работу, но даже этот FAQ в основном подсказывает вам поиск R-Help, когда вы сомневаетесь.

Ответ 2

Отклонения устаревают. Один из вариантов - использовать labs()

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

В значительной степени то же самое.

Ответ 3

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

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.