R 在同一y轴上叠加三条曲线

R 在同一y轴上叠加三条曲线,r,curve,normal-distribution,R,Curve,Normal Distribution,我想用三个不同的西格玛值叠加三条正态分布曲线。我已经这样做了: curve(dnorm(x, mean(x), sd(x)), col = 2, lwd = 2) par(new = TRUE) curve(dnorm(x, mean(x), sd(x)/2), col = 3, lwd = 2) par(new = TRUE) curve(dnorm(x, mean(x), sd(x)*2), col = 4, lwd = 2) 结果是 但是我只想使用一个y轴比例,所以三个图是一个在另一个下

我想用三个不同的西格玛值叠加三条正态分布曲线。我已经这样做了:

curve(dnorm(x, mean(x), sd(x)), col = 2, lwd = 2)
par(new = TRUE)
curve(dnorm(x, mean(x), sd(x)/2), col = 3, lwd = 2)
par(new = TRUE)
curve(dnorm(x, mean(x), sd(x)*2), col = 4, lwd = 2)
结果是
但是我只想使用一个y轴比例,所以三个图是一个在另一个下,而不是在相同的y比例上。此外,我还想将x轴的范围从-3扩展到3,例如,通过设置
plot
参数
type=“n”
首先打开一个空白的图形设备。然后
add=TRUE
3条曲线

plot(c(0, 1), c(0, 3), type = "n", xlab = "", ylab = "")
curve(dnorm(x, mean(x), sd(x)), col = 2, lwd = 2, add = TRUE)
curve(dnorm(x, mean(x), sd(x)/2), col = 3, lwd = 2, add = TRUE)
curve(dnorm(x, mean(x), sd(x)*2), col = 4, lwd = 2, add = TRUE)

您可以使用
yaxt
xaxt
从图形中删除y轴

curve(dnorm(x, mean(x), sd(x)), col = 2, lwd = 2,ylab="My y axis name")
par(new = TRUE)
curve(dnorm(x, mean(x), sd(x)/2), col = 3, lwd = 2,yaxt='n',xaxt='n',ylab="")
par(new = TRUE)
curve(dnorm(x, mean(x), sd(x)*2), col = 4, lwd = 2,yaxt='n',xaxt='n',ylab="")