用密度图中的点替换线段

时间:2017-05-10 19:19:58

标签: r plot kernel-density probability-density density-plot

我想知道如何替换当前用segments显示的7行points?也就是说,我需要7行segments而不是7行黑线[{1}}从每条线points的底部到曲线线? ( 而不是7个线段,我将有7条垂直线

请在图片下方查看我的R代码。

enter image description here

segments

1 个答案:

答案 0 :(得分:1)

一个想法是,如果你需要积分,可以使用mapply来获得你想要的点的位置,然后lapply将它们全部添加到图表中。像这样:

mypoints <- mapply(function(x, y, z) data.frame(y = seq(x, y, length.out=floor((y-x)/5)),
                                                x = z),
                     x = rep(par("usr")[3], length(y.DEN)),
                     y = y.DEN,
                     z = x.DEN ,SIMPLIFY = F)

lapply(mypoints, function(z) points(x = z$x, y = z$y))

enter image description here

从那里你可以将尺寸/点类型更改为你想要的任何东西。您还可以通过除以length.out=...中的较低/较高数字来添加更多或更少的点数。我选择了5,因为它看起来很好看。