2015-05-04 3 views
8

В ggplot2, как поместить название участка в нижней части участка.Земельный участок в нижней части участка с использованием ggplot2

qplot(rnorm(100)) + ggtitle("My Title") 

ставит титул в середине и верхней части участка, в то время как я хочу, чтобы это было в середине и нижние участка.

ответ

10

Вот решение, использующее grid.text:

library("grid") 
qplot(rnorm(100)) + theme(plot.margin=unit(c(0.5, 1, 2, 0.5), "lines")) 
grid.text("My Title", x = unit(0.5, "npc"), y = unit(0, "npc"), 
      vjust = -0.5, gp = gpar(cex=1.2)) 

plot

+0

Это работает, но когда я пытаюсь сохранить как PDF (используя ggsave), я не вижу названия !!! –

+0

Вы должны открыть/закрыть устройство напрямую: 'pdf (" file.pdf "); печать (qplot (...)); grid.text (...); dev.off() ' – rcs

2

С версии Dev вы можете использовать заголовок аргумент,

ggplot() + 
    labs(caption="Bottom Title") + 
    theme(plot.caption = element_text(hjust=0.5, size=rel(1.2))) 

Альтернативно, оберните участок в grid.arrange(),

gridExtra::grid.arrange(ggplot(), bottom="Bottom Title") 

enter image description here

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