1

をプロットしたいのですpowerF-testggplot2MWE はグラフ出力の下にあります。

library(ggplot2)
df1 <- 3
df2 <- 8
Alpha <- 0.05

df <- data.frame(X = seq(from = 0, to = 10, length = 500))

p <- ggplot(data=df, mapping=aes(x = X, y = df(x = X, df1 = df1, df2 = df2, ncp=0)))+
        geom_area(color="black", fill="white")
p <- p + geom_area(aes(x=X, y=df(x = X, df1 = df1, df2 = df2, ncp=2)), color="blue", fill="blue", alpha = 1/3)
p <- p + scale_y_continuous(expand = c(0, 0)) + scale_x_continuous(breaks=seq(0, 10, 1))
p <- p + geom_area(data = subset(df, X > qf(p = 1-Alpha, df1 = df1, df2 = df2, ncp=0)), fill = "red")
p <- p + geom_area(data = subset(df, X > qf(p = 1-Alpha, df1 = df1, df2 = df2, ncp=0)),
          aes(x=X, y=df(x = X, df1 = df1, df2 = df2, ncp=2)), fill = "green", alpha=1/3)
p

ここに画像の説明を入力

透明感を出すにはどうしたらいいのだろう。異なる地域はあまり明確ではありません。

4

2 に答える 2

2

透過性は、alphaグラフィック パラメータによって制御されます。これをレイヤーの低い値に設定するだけです。今はすでに 1/3 に設定されているので、1/6 に設定してみてください

library(ggplot2)
df1 <- 3
df2 <- 8
Alpha <- 0.05

df <- data.frame(X = seq(from = 0, to = 10, length = 500))

p <- ggplot(data=df, mapping=aes(x = X, y = df(x = X, df1 = df1, df2 = df2, ncp=0)))+
  geom_area(color="black", fill="white")
p <- p + geom_area(aes(x=X, y=df(x = X, df1 = df1, df2 = df2, ncp=2)), color="blue", fill="blue", alpha = 1/6) ## this is the only line I've changed.
p <- p + scale_y_continuous(expand = c(0, 0)) + scale_x_continuous(breaks=seq(0, 10, 1))
p <- p + geom_area(data = subset(df, X > qf(p = 1-Alpha, df1 = df1, df2 = df2, ncp=0)), fill = "red")
p <- p + geom_area(data = subset(df, X > qf(p = 1-Alpha, df1 = df1, df2 = df2, ncp=0)),
                   aes(x=X, y=df(x = X, df1 = df1, df2 = df2, ncp=2)), fill = "green", alpha=1/3)
p
于 2013-07-26T15:34:45.857 に答える
2

私の意見では、最初にプロットするデータセット全体を定義してから、プロットを開始する必要があります。これが私がすることです。

# load ggplot
require(ggplot2)
# define data
df1 <- 3
df2 <- 8
Alpha <- 0.05
X=seq(from = 0, to = 10, length = 500)
# Define the data outside ggplot
dd <- data.frame(x=c(X,X), 
                 y=c(df(X, df1, df2, ncp=0), df(X, df1, df2, ncp=2)),
                 npc=factor(rep(c(0,2), each=length(X))), 
                 quantile=c(X>qf(p = 1-Alpha, df1 = df1, df2 = df2, ncp=0),
                            # should this be qf(..., npc=0) or qf(..., npc=2)?
                            X>qf(p = 1-Alpha, df1 = df1, df2 = df2, ncp=2))) 
# Plot
pp <- ggplot(data=dd, aes(x=x, ymin=0, ymax=y, fill=npc, color=npc, alpha=quantile)) 
pp <- pp + geom_ribbon()
# Play with different alpha-ranges until you are satisfied
pp + scale_alpha_discrete(range=c(.2, .5), guide="none")
于 2013-07-30T07:49:58.317 に答える