R 中 N(0,1) 的着色

Coloration in N(0,1) in R

x<-seq(-3,3,0.01)
y<-dnorm(x)
plot(x,y,type="l")

就是红色区域-3<=x<=-1的填充代码

polygon(c(x[x<=-1],-1),c(y[x<=-1],y[x==-3]),col="red")

我想用红色填充x=0到x=1之间的区域,我该怎么做? 我尝试了很多,但仍然失败。因为如果我取区间,它有四个顶点,N(0,1) 分布是一条曲线而不是多边形。

您可以创建一个具有相关序列的向量,并根据它绘制多边形:

xx <- seq(0, 1, 0.01)
plot(xx, dnorm(xx), type="l")
polygon(c(min(xx), xx, max(xx)), c(0, dnorm(xx), 0),col="blue")

可能如下:

#your code
x<-seq(-3,3,0.01)
y<-dnorm(x)
plot(x,y,type="l")
#new code
coordx<- c(0,seq(0,1, 0.01),1)
coordy <- c(0,dnorm(seq(0,1, 0.01)),0) 
polygon(coordx,coordy, col="red")

应该产生下图: