Ein Dreieck drei Punkte. Ihre Vektoren x
und y
beschreiben nur zwei Punkte.
polygon()
Die Funktion kann jedem Dreieck oder höherer Ordnung Polygon zeichnen, aber man muss vollständig das Polygon definieren, indem alle seine Scheitelpunkte im x
und y
Argumente zu übergeben.
können wir das Problem lösen, indem den x
und y
Vektoren mit einem zusätzlichen Elemente zu ergänzen, die in dem fehlenden Eckpunkt füllt, wenn diese Vektoren an die Funktion polygon()
geben.
Da Sie angegeben haben möchten Sie Schatten der Bereich unter die Linie, hier ist, wie ich dies tun würde:
- Zuerst werde ich adressieren die zusätzliche
y
koordinieren, da es einfacher ist. Wir müssen lediglich das Minimum der bekannten y
Koordinaten verwenden, für die wir min()
verwenden können.
- Für
x
, müssen wir kopieren Koordinaten x
, die den Scheitelpunkt entspricht die höhere y-Koordinate, für die wir auf which.max()
y
verwenden und dann x
Indizierung.
x <- c(0,1);
y <- c(1,2);
plot(x,y);
polygon(c(x,x[which.max(y)]),c(y,min(y)),col='red');
Sie passieren nur zwei x, y-Koordinaten zu Polygon, so wird es nur Schatten der „Fläche“ eingeschlossen innerhalb dessen, was effektiv eine gerade Linie -, die keinen Bereich hat Schatten. Siehe http://stackoverflow.com/questions/3494593/shading-a-kernel-density-plot-between-two-points für eine Erklärung, wie eine Kurve unter einer Kurve schattiert wird. – dww
Mögliches Duplikat von [Schattierung eines Kerndichtediagramms zwischen zwei Punkten .] (http://stackoverflow.com/questions/3494593/shading-a-kernel-density-plot-between-two-points) – dww