2016-05-09 58 views
0

我想在这里看到的线条下面的三角形区域着色,所以我传递了x坐标和y坐标的向量但该区域不是在多边形图不会显示在x和y坐标中传递

你能得到该区域下阴影线的红色吗?区域的底部是x轴,顶部是线条。谢谢。

下面是代码:

x = c(0,1) 
    y = c(1,2) 
    x 
    y 
    plot(x,y) 
    polygon(x, y, col="red") 
+1

传递只有两个X,Y坐标的多边形,所以它只会荫“区域”内什么是有效的直线封闭 - 它没有区域阴影。请参阅http://stackoverflow.com/questions/3494593/shading-a-kernel-density-plot-between-two-points以了解如何在曲线下形成阴影 – dww

+0

[在两点之间着色内核密度图](http://stackoverflow.com/questions/3494593/shading-a-kernel-density-plot-between-two-points) – dww

回答

0

一个三角形有三点。您的xy载体只描述两点。

polygon()功能可以画出任何三角形或更高阶的多边形,但你必须通过将所有的顶点在xy参数完全定义的多边形。

我们可以通过补充xy向量以及在将这些向量传递给polygon()函数时填充缺失顶点的附加元素来解决此问题。

既然你已经表示要遮荫面积下的线,这里是我会怎么做:

  • 首先,我要解决的附加y协调,因为它更容易。我们只需要使用已知的y坐标中的最小值,对此我们可以使用min()
  • 对于x,我们需要复制x坐标对应于具有较高 y坐标,我们可以针对其在y,然后下标x使用which.max()顶点。

x <- c(0,1); 
y <- c(1,2); 
plot(x,y); 
polygon(c(x,x[which.max(y)]),c(y,min(y)),col='red'); 

plot