6

与图例本身相比,有没有办法将图例标题放在顶部和中心?

例子:

cons2 <- data.table(
value_date  = c(as.Date('2013-04-30'),as.Date('2013-04-30'),as.Date('2013-06-13'),as.Date('2013-06-13')),
ticker = c('AAPL','FTW','AAPL','FTW'),
discount = c(0.34,0.10,0.25,0.20),
b = c(0.40,0.55,.60,0.90),
yield = c(0.08,0.04, 0.06,0.03))


headers <- cons2[ticker == 'AAPL' & value_date == '2013-06-13']

p <- ggplot(cons2) 
p <- p + geom_point(aes(yield,b, size = discount, color=factor(value_date))) 
p <- p + guides(size = "none")
p <- p + scale_colour_manual(values = c("#1c2f80","#779438"))
p <- p + geom_text(data = headers, aes(yield, b, label=ticker), size = 4)
p <- p + geom_smooth(data = cons2[value_date == '2013-06-13'], aes(yield, b), method="lm", se=FALSE)
p <- p + geom_line(data = cons2, aes(yield, b, group = ticker))
p <- p + theme(legend.position="bottom")
p <- p + guides(colour=guide_legend(title.position="top"))
p
4

2 回答 2

8

您可以使用title.hjust这样的参数:

p <- p + guides(colour=guide_legend(title.position="top", 
                                     title.hjust =0.5))

在此处输入图像描述

于 2013-06-17T20:03:23.257 回答
0

我认为上面的内容已经过时了。以下是如何在 ggplot > 3.0 中将图例居中:

+ theme(legend.justification = "center")
于 2022-01-21T01:58:10.933 回答