【问题标题】:How can I color a curve envelope如何为曲线包络着色
【发布时间】:2015-11-04 21:51:43
【问题描述】:

我正在尝试为曲线的包络着色。 比如说:

set.seed(1)
middle = seq(1,10,length.out=100)
upper = middle+5*runif(100)
lower = middle-5*runif(100)
plot(seq(100),middle,ylim=range(lower,middle,upper),type='l',col='red')
lines(upper,col='grey')
lines(lower,col='grey')

如何在灰色线之间涂上灰色?

【问题讨论】:

  • 使用polygon,类似polygon(c(xvals,rev(xvals)), c(min_y,max_y)) ...我觉得某处肯定有重复但无法快速找到。
  • 是的,在demo(graphics)中有描述。
  • @RHertel,好点(如果您愿意,您可以在此处复制该信息作为答案),但我的意思是 StackOverflow 副本...

标签: r graphics plot


【解决方案1】:

这是一种可能性,如demo(graphics)中所述

middle <- seq(1,10,length.out=100)
upper <- middle+5*runif(100)
lower <- middle-5*runif(100)
xx <- c(1:100,100:1)
yy <- c(upper,rev(lower))
plot(seq(100),middle,ylim=range(lower,middle,upper),type='l')
polygon(xx, yy, col="gray")
lines(seq(100),middle,ylim=range(lower,middle,upper),type='l',col='red')

【讨论】:

    【解决方案2】:
    # ... Your code before plot( ... )
    sequence = seq(100)
    plot(sequence,middle,ylim=range(lower,middle,upper),type='l',col='red')
    # After all the other code:
    polygon(c(sequence, rev(sequence)), c(upper, rev(lower)), col = rgb( 0.5, 0.5, 0.5, 0.5 ), border = NA )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 2021-02-20
      • 2013-10-22
      • 2019-09-28
      • 2016-11-08
      • 1970-01-01
      相关资源
      最近更新 更多