2016-07-22 55 views
1

我想用我选择的配色方案制作ACF。着色ACF ggplot对象

预测包允许我创建ACF的ggplot2图。除了ACF的线和置信区间之外,我可以对结果图的各个方面进行更改。

下面是示例代码和生成的情节:

acf <- forecast::ggAcf(rnorm(100)) 

acf + ggtitle("Autocorrelation Function (ACF)") + xlab("Lag") + ylab("ACF") + 
    theme(
    panel.background = element_rect(fill="#5C5D67"), 
    axis.title = element_text(colour="#FFFAFF", size = 12), 
    axis.title.x = element_text(colour="#FFFAFF", size = 12),  
    axis.text = element_text(colour="#FFFAFF", size = 12), 
    axis.text.y = element_text(colour="#FFFAFF", size = 12), 
    panel.grid.minor = element_blank(), 
    panel.grid.major = element_line(color="#1E1E1E"), 
    plot.title = element_text(colour="white"), 
    plot.background = element_rect(fill = "#1e1e1e") 
) 

enter image description here

如何改变ACF线的颜色比默认的黑色以外的一些东西吗?以及如何将信心范围更改为默认蓝色以外的其他信息?

回答

4

ggAcf功能基于autoplot.acf。您可以通过forecast:::autoplot.acf查看该功能。当你这样做时,你会发现段和水平线的颜色在函数中被硬编码,没有选择来控制它们。

要改变颜色而不用创建自己的新功能,可以使用ggplot2中的函数在原始图的顶部添加新图层。但是,您需要使用与autoplot.acf中相同的公式计算“手动”置信区间。

library(forecast) 
library(ggplot2) 

# Calculate confidence interval limits 
ci2 = qnorm((1 + .95)/2)/sqrt(length(rnorm(100))) 

# Change line color to green, CI color to purple 
ggAcf(rnorm(100)) + 
    geom_segment(lineend = "butt", color = "green") + 
    geom_hline(yintercept = 0, color = "green") + 
    geom_hline(yintercept = c(ci2, -ci2), color = "purple", linetype = "dashed") 

enter image description here

注意,对于工作围绕“上一图层的顶部添加层”来看待的权利,你需要保持线型一样在原来的情节。

+0

This Works。谢谢! – Warner