2016-05-17 15 views
0

私は、ggplot2を使用して、Y軸の対応するカウント(密度ではない)に対してX軸の連続変数をプロットしています。ggplot2 geom_freqpolyグラフの線の下の領域を埋める方法は?

enter image description here

私はこれらの線の下の領域が色で、透明性の少しで満たされたい:

この

は、これは、この本のようなグラフを生成

p <- ggplot(matched.frame, aes(x = AGE, color = as.factor(DRUG_KEY))) + geom_freqpoly(binwidth=5) 
p1 <- p + theme_minimal() 
plot(p1) 

私のコードです。私はggplot2の密度プロットのためにこれを行うことを知っていますが、私はこの周波数ポリゴンに固執しています。

また、右側の凡例を変更するにはどうすればよいですか。たとえば、26の代わりに 'Cases'を、 '27'の代わりにControlsを入力します。代わりにas.factor(DRUG_KEY)の、私はそれが「色」

サンプル・データ

matched.frame <- data.frame("AGE"=c(18,19,20,21,22,23,24,25,26,26,27,18,19,20,24,23,23,23,22,30,28,89,30,20,23)) 
matched.frame$DRUG_KEY <- 26 
matched.frame$DRUG_KEY[11:25] <- 27 
+0

Rの質問に再現可能な例を追加してください。これは物事を簡単にします。したがって、(1)[良い質問をするにはどうすればいいですか]、[2] [MCVEの作成方法](http: (3)[Rで最小限の再現可能な例を提供する方法](http://stackoverflow.com/questions/5963269/how-to-make-a-great- r-reproducible-example#answer-5963610)を参照してください。 – lukeA

答えて

1

として表示するあなたは、曲線下面積とscale_fill_discrete(塗りつぶしの色)と同様にscale_color_discrete(線の色を埋めるためにgeom_ribbonを使用することができますあなたの編集に関して

library(ggplot2) 
set.seed(1) 
df <- data.frame(x = 1:10, y = runif(20), f = gl(2, 10)) 
ggplot(df, aes(x=x, ymin=0, ymax=y, fill=f)) + 
    geom_ribbon(, alpha=.5) + 
    scale_fill_discrete(labels = c("1"="foo", "2"="bar"), name = "Labels") 

)凡例ラベルを変更するには
ggplot(matched.frame, aes(x=AGE, fill=as.factor(DRUG_KEY), color=as.factor(DRUG_KEY))) + 
    stat_bin(aes(ymax=..count..,), alpha=.5, ymin=0, geom="ribbon", binwidth =5, position="identity", pad=TRUE) + 
    geom_freqpoly(binwidth=5, size=2) + 
    scale_fill_discrete(labels = c("26"="foo", "27"="bar"), name = "Labels") + 
    scale_color_discrete(labels = c("26"="foo", "27"="bar"), name = "Labels") 
+0

これは私に意図された結果を与えていません。 Y軸はカウントでなければなりません。 – technOslerphile

+0

作成可能な再現可能な例を提供してください。 「y」はカウント数(解釈の問題)です。 – lukeA

+0

私が持っているものに似たサンプルデータを追加 – technOslerphile

関連する問題