3

我试图在曲线下着色(与这篇文章中的 y 方向相反)。以下是填充方向的假设。

curve(dnorm(x,0,1),xlim=c(-3,3),main='Standard Normal')

在此处输入图像描述

我正在尝试编写一个函数,在那里我可以用不同的颜色填充非常小的多边形(我不知道这是否是正确的方法),然后它看起来像渐变。

这个想法是将以下单个多边形的填充扩展到n个多边形。

codx <- c(-3,seq(-3,-2,0.01),-2)
cody <- c(0,dnorm(seq(-3,-2,0.01)),0)

 curve(dnorm(x,0,1),xlim=c(-3,3),main='Standard Normal')
 polygon(codx,cody,col='red')

我试图将它扩展到一个函数:x1 <- NULL y1 <- NULL

polys <- function ( lwt, up, itn) {
    x1 <- c(lwt,seq(lwt,up, itn),up)
    y1 <- c(0,dnorm(seq(lwt,up,tn)),0)
    out <- list (x1, y1)
    return (out)
    }
out <- polys(lwt = 0, up = 1, itn = 0.1)

library(RColorBrewer)
plotclr <- brewer.pal(10,"YlOrRd")

我既不能锻炼这个功能,也不能用这种方法酿造超过 9 种颜色。帮助表示赞赏。

4

1 回答 1

3

您可以使用细分来“大致”实现您想要的

x <- seq(from=-3, to=3,by=0.01)
curve(dnorm(x,0,1), xlim=c(-3,3))
segments(x, rep(0,length(x)),x,dnorm(x,0,1) , col=heat.colors(length(x)), lwd=2)

在此处输入图像描述

于 2013-04-09T14:35:32.217 回答