Jak dodać tytuł do ggplot, gdy tytuł jest nazwą zmiennej?

Na końcu ggplot to działa dobrze:

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

Ale to nie:

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

Ani to:

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

Jak mogę dodać tytuł do ggplot, gdy tytuł jest nazwą zmiennej?

Author: smci, 2010-03-02

3 answers

Jak zauważyli inni, twój przykład wydaje się działać dobrze w przypadkach, gdy zmienna chart_title jest łańcuchem znaków lub wyrażeniem. Czasami trudno jest skonstruować zmienną title; na przykład może powstać mylący scenariusz, jeśli chart_title użyje innych zmiennych i jeśli dodatkowo użyjesz niektórych greckich znaków, więc prosta paste(...) nie wystarczy. Aby stworzyć taki tytuł, możesz użyć czegoś takiego jak:

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)

Kolejna funkcja, która pojawia się przydatne przy konstruowaniu tytułów jest bquote(). Programmatic title construction can be a messy business; R FAQ 7.13 (http://cran.r-project.org/doc/FAQ/R-FAQ.html ) może pomóc Ci zacząć, ale nawet ten FAQ w zasadzie mówi ci, aby szukać R-Help, gdy masz wątpliwości.

 22
Author: Leo Alekseyev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-02 04:17:18

Opts jest przestarzały. Jedną z opcji jest użycie labs ()

myTitle <- "My title"
qplot(mpg, wt, data = mtcars) + labs(title = myTitle)
Prawie tak samo.
 29
Author: Greg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-29 23:55:23

Proszę podać powtarzalny przykład. Dla mnie działa dobrze:

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

Od wersji 0.9.2, opts zostało zastąp przez theme:

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

Zobacz też ?ggtitle.

 15
Author: hadley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-22 03:18:13