我想用我选择的配色方案制作ACF。
预测包允许我创建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")
)
如何从默认黑色以外的其他东西更改ACF线的颜色?如何将置信区间更改为默认蓝色以外的其他内容?
答案 0 :(得分: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")
请注意,对于“在前一个图层上添加图层”来解决问题,您需要保持线条类型与原始图形中的相同。