web-dev-qa-db-fra.com

Comment ajouter un titre à un ggplot lorsque le titre est un nom de variable?

À la fin d'un ggplot, cela fonctionne bien:

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

Mais cela ne signifie pas:

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

ni ceci:

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

Comment puis-je ajouter un titre à un ggplot lorsque le titre est un nom de variable?

42
John

Comme d'autres l'ont souligné, votre exemple semble bien fonctionner dans les cas où la variable chart_title est une chaîne ou une expression. Parfois, il est difficile de construire la variable de titre; par exemple, un scénario déroutant peut se produire si chart_title utilise d'autres variables, et si en plus vous utilisez des caractères grecs, une simple paste(...) ne suffit pas. Pour construire un titre comme ça, vous pouvez utiliser quelque chose comme ceci:

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)

Une autre fonction qui est utile lors de la construction de titres est bquote(). La construction de titres programmatiques peut être une entreprise désordonnée; R FAQ 7.13 ( http://cran.r-project.org/doc/FAQ/R-FAQ.html ) peut vous aider à démarrer, mais même cela FAQ vous dit essentiellement de rechercher R-Help en cas de doute.

24
Leo Alekseyev

Opts est obsolète. Une option consiste à utiliser des laboratoires ()

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

Quasiment la même chose.

28
Greg

Veuillez fournir un exemple reproductible. Ce qui suit fonctionne bien pour moi:

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

Depuis la version 0.9.2, opts a été remplacer par theme:

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

Regarde aussi ?ggtitle.

15
hadley