在ggplot2中添加图例标题和主标题

时间:2014-02-04 23:59:24

标签: r ggplot2

您好我正在尝试使用ggplot2执行以下操作

1)将图例名称更改为“资产” 2)在顶部添加标题 3)将每个面板的边框更改为更黑的实线 4)想要更改每个面板图标题“corp”等的名称和颜色

这就是我所拥有的,我不知道该怎么做任何帮助都非常感谢

p <- ggplot(mystratcodes, aes(x=annRisk, y = annRet))
p<- p + facet_grid(. ~ sector) + facet_wrap(~sector)
p<- p + geom_point(size=6, aes(color = (mystratcodes$subsector1))) 
p<-p+scale_x_continuous(labels = percent, name = "Annualized Risk")
p<-p+scale_y_continuous(labels = percent, name = "Annualized Return")
p<-p+ theme( legend.position = "bottom", legend.key = element_rect(colour = "grey"))
p<-p + scale_colour_manual(values = c("UTIL" = "#fdcc8a", "IND" = "#fc8d59", "FIN" =          "#d7301f","ABS" = "#74a9cf", "CMBS" = "#0570b0", "LA" = "#8c96c6", "SOV"= "#88419d", "SUPRA" = "#b3cde3"))
print(p)

非常感谢

1 个答案:

答案 0 :(得分:16)

1)您可以将“资产”作为scale_color_manual功能中的第一个参数,将图例名称更改为“资产”。

scale_colour_manual("Asset",values = ...)

2)你可以做到

p<-p+labs(title="PUT TITLE HERE")

标题

3)您可以向theme()添加一个额外的参数来更改背景颜色(这将使框内出现边框)

p<-p+theme(panel.background = element_rect(fill=NA, col="black"))

来源:How to place divisions between facet grid lines

你也可以尝试在表达式中添加p=p+theme_bw(),但这可能会改变很多东西。

4)对于网格标签,您有2个选项(嗯,更多,但这些是最简单的)。首先,您可以重命名数据级别。如果您不想这样做,可以将贴标机功能作为facet_grid()中的参数传递。请参见此处的示例:

https://stackoverflow.com/a/12104207/1362215

对于面板的颜色,您也可以使用theme()

p<-p+theme(strip.background = element_rect(fill = 'purple'))#turns boxes purple