2016-12-07 4 views
6

Я хочу переместить название легенды sex немного правее горизонтального центра окна легенды. Я пробовал theme и guide_legend, но не смог. Оба способа не изменят положение названия легенды.Как выровнять название легенды до середины окна легенды в ggplot2?

# 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)) 

Кроме того, я использую ggplot2_2.2.0.

ответ

6

Вам нужно legend.title.align, а не legend.title:

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

enter image description here

+0

Спасибо. Это решило мою проблему. – mt1022

+2

По-видимому, это не работает для [длинных легендарных заголовков.] (Https://stackoverflow.com/questions/48000292/center-align-legend-title-and-legend-keys-in-ggplot2-for-long-legend -Фрагментов) –

Смежные вопросы