43 votes

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

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

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

Mais cela ne veut 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 quand le titre est un nom de variable?

30voto

Greg Points 600

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

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

Quasiment la même chose.

25voto

Leo Alekseyev Points 3794

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

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 très pratique lors de la création de titres ( bquote(). Programmatique titre de la construction peut être un désordre des affaires; R FAQ 7.13 (http://cran.r-project.org/doc/FAQ/R-FAQ.html), vous pouvez obtenir commencé, mais même la FAQ de coeur vous dit de recherche R-Aide en cas de doute.

15voto

hadley Points 33766

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é remplacé par theme :

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

Voir aussi ?ggtitle .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X