为什么 R 中的多边形适用于全曲线而不适用于半曲线?

诺鲁兹安

我想知道为什么polygon()使用两侧曲线(底部图片效果很好,但使用相同曲线的一半(顶部图片无法正常工作

我感谢一个简短的解释。

par(mfrow = c(2, 1))

gg = curve(dnorm(x), -4, 0) # Not working!
polygon(gg, col = 2)

gg = curve(dnorm(x), -4, 4) # Working!
polygon(gg, col = 2)

在此处输入图片说明

洛基

curve

由于polygon连接了曲线的起点和终点,因此会创建一些奇怪的形状。?polygon我们可以看出

“假设多边形将通过将最后一个点连接到第一个点来闭合。”

第一个和最后一个点由 中的fromto给出curve在您的第一种情况下,这些是-40

只需添加xlimxaxs = "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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Ziggurat矩阵不适用于R中的“ for”和“ repeat”循环-为什么?

为什么R中的FFT函数不适用于一定长度的向量?

为什么ls -R(递归向下)不适用于正则表达式

为什么 R unique() 不适用于从 lm() 对象中提取的拟合值?

为什么 rowSums 不适用于在 R 中使用 pivot_wider 创建的数据框?

为什么Map在Groovy中不适用于GString?

为什么__dir __()不适用于python中的模块?

为什么我的函数适用于矩阵但为什么不适用于向量?

当只提到 name[0].lower() == "r" 时,为什么这个函数也适用于 'R'?

为什么HTML中“ <input>”标记中的“ size”属性仅适用于TEXT而不适用于NUMBER?

为什么django的prefetch_related()仅适用于all()而不适用于filter()?

Photutils Source Detection不适用于小型图片,适用于大型图片,为什么?

为什么一个HANDLE不适用于WriteConsoleInput,但适用于WriteFile?

Ruby net/http/get 不适用于 url,但适用于 uri。为什么?

为什么图例选择仅适用于“ ax.twinx()”而不适用于“ ax”?

为什么代码只适用于数字而不适用于字母?

Karatsuba算法适用于小数而不适用于大数,看不出为什么

为什么工具提示动画适用于标签而不适用于输入

为什么Multi Peer Connectivity仅适用于MCAdvertiserAssistant而不适用于MCNearbyServiceAdvertiser

为什么perl autovivification不适用于-> @ *但适用于-> @ [0]?

为什么这种 curl 用法适用于 Windows 而不适用于 OSX / iOS?

为什么 CSS 规则不适用于真正的 HTML 页面,但适用于 JSFiddle?

为什么我的 sudo 命令适用于 ansible 而不适用于 ansible-playbook?

为什么NetInfo不适用于Web但适用于Android(react-native-web)?

为什么File.WriteAllBytes不适用于.db文件,但适用于.csv文件?

为什么排序列表适用于 Firefox 而不适用于 chrome?

RTSP流不适用于python,但适用于VLC。为什么?

为什么我的 for 循环适用于“&&”而不适用于“,”

Accumulate 不适用于 sum,但适用于等效的 lambda 函数。为什么?