【问题标题】:filling color gridient under normal curve in X direction in r在r中X方向的法线曲线下填充颜色网格
【发布时间】:2013-04-09 14:12:48
【问题描述】:

我正在尝试在曲线下着色(与this post 中的 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

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 种颜色。帮助表示赞赏。

【问题讨论】:

  • 关于您的调色板,您可能需要考虑类似:yrgradient &lt;-colorRampPalette(c("red", "yellow")) 并使用它来代替 brewer.pal

标签: r graph polygon curve


【解决方案1】:

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

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)

【讨论】:

  • 或使用rect(x[-length(x)], rep(0,length(x)-1), x[-1], dnorm(x,0,1), col=heat.colors(length(x)), lwd=0, border=NA) 真正填充点之间的区域;-) 而不是使用线段绘制线条
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 2014-07-09
相关资源
最近更新 更多