2016-07-22 9 views
1

自分が選んだカラースキームでACFを生成したい。ぬりえACF ggplotオブジェクト

予測パッケージでは、ACFのggplot2グラフを作成できます。 ACFの行と信頼限界を除いて、グラフのあらゆる面を変更することができます。私は、デフォルトの黒以外のいくつかのことから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

:ここ

は、サンプルコードと結果のプロットでありますか?そして、私は信頼区間をデフォルトの青以外のものに変更する方法を教えてください。

答えて

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

これは機能します。ありがとうございました! – Warner

関連する問題