web-dev-qa-db-fra.com

comment aligner le titre de la légende au milieu de la boîte de légende dans ggplot2?

Je veux déplacer le titre de la légende sex un peu à droite vers le centre horizontal de la boîte de légende. J'ai essayé theme et guide_legend mais a échoué. Les deux façons ne changeront pas la position du titre de la légende.

# example data from http://www.cookbook-r.com/Graphs/Legends_(ggplot2)/
df1 <- data.frame(
    sex = factor(c("Female","Female","Male","Male")),
    time = factor(c("Lunch","Dinner","Lunch","Dinner"), levels=c("Lunch","Dinner")),
    total_bill = c(13.53, 16.81, 16.24, 17.42)
)

library(ggplot2)
p <- ggplot(data=df1, aes(x=time, y=total_bill, group=sex, shape=sex, colour=sex)) +
    geom_line() + geom_point()

# no change
p + theme(legend.title = element_text(hjust = 0.5))
p + guides(color=guide_legend(title.hjust=0.5))

De plus, j'utilise ggplot2_2.2.0.

13
mt1022

Vous avez besoin legend.title.align plutôt que legend.title:

p + theme(legend.title.align=0.5) 

enter image description here

12
eipi10