curve
由于polygon
连接了曲线的起点和终点,因此会创建一些奇怪的形状。从?polygon
我们可以看出
“假设多边形将通过将最后一个点连接到第一个点来闭合。”
第一个和最后一个点由 中的from
和to
值给出curve
。在您的第一种情况下,这些是-4
和0
。
只需添加xlim
和xaxs = "i"
到curve()
gg = curve(dnorm(x), -4, 4, xlim = c(-4,0), xaxs = "i") # Working!
polygon(gg, col = 2)
curve
一个图中的多个s当您想在一个图中放置多条曲线时,您可能会面临无法如上所示限制轴的问题。因此,我们必须更深入地研究曲线对象的结构(此处gg
)。
让我们首先创建两条曲线。
gg = curve(dnorm(x), -4, 4) ;
polygon(gg, col = 2) ;
gg = curve(dnorm(x), -4, 0, xlim = c(-4,0), xaxs = "i", add = T) ;
现在我们来看看gg
:
gg
# $x
# [1] -4.00 -3.96 -3.92 -3.88 -3.84 -3.80 -3.76 -3.72 -3.68 -3.64 -3.60 -3.56 -3.52 -3.48 -3.44 -3.40 -3.36 -3.32 -3.28
# [20] -3.24 -3.20 -3.16 -3.12 -3.08 -3.04 -3.00 -2.96 -2.92 -2.88 -2.84 -2.80 -2.76 -2.72 -2.68 -2.64 -2.60 -2.56 -2.52
# .....
# $y
# [1] 0.0001338302 0.0001569256 0.0001837125 0.0002147280 0.0002505784 0.0002919469 0.0003396012 0.0003944025 0.0004573148
# [10] 0.0005294147 0.0006119019 0.0007061107 0.0008135212 0.0009357722 0.0010746733 0.0012322192 0.0014106023 0.0016122275
# .....
我们看到这gg
只是一个$x
和$y
坐标的列表。因此,我们可以0, 0
在第二个坐标处添加一个坐标gg
以模拟重叠的第二条曲线的末端。之后,两条曲线都被正确绘制。
gg$x <- c(gg$x, 0)
gg$y <- c(gg$y, 0)
polygon(gg, col = 4)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句