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

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

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

Но это не так:

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

ни это:

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

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


person John    schedule 01.03.2010    source источник
comment
Я запутался, у меня отлично работает следующее: › мяу ‹- мяу › qplot(rnorm(100), rnorm(100)) + opts(title = мяу)   -  person Jonathan Chang    schedule 02.03.2010
comment
'opts' устарел. Вместо этого используйте «тему».   -  person tumultous_rooster    schedule 23.03.2014


Ответы (4)


Как указывали другие, ваш пример отлично работает в случаях, когда переменная 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#How-can-I-substitute-into-a-plot-label_003f) может помочь вам начать работу, но даже этот FAQ в основном говорит вам искать R-Help, когда вы сомневаетесь.

person Leo Alekseyev    schedule 01.03.2010
comment
Странно... Я думаю, это был скрытый возврат каретки в конце строки (мне нужно сменить текстовый редактор!) Большое спасибо. - person John; 02.03.2010

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

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

Почти то же.

person Greg    schedule 29.12.2012

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

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.

person hadley    schedule 02.03.2010

ggtitle(вставить(Сумма =, mysum, Счетчик =, N))

mysum и N являются переменными

person Vivek Sivalingam Ramanathan    schedule 18.10.2020