GNU R: polygon
Ein Polygon (Vieleck) entsteht, wenn mindestens 3 Punkte so miteinander verbunden werden, dass ein geschlossener Linienzug (Polygenzug) entsteht. Der Linienzug und die umschlossene Fläche nennt man Polygon. Wenn sich keine Linien überschneiden, spricht man von einem einfachen Polygon. Nützlich sind Polygone in R z. B. um bei Funktionen bestimmte Regionen farblich hervorzuheben. In den Graphikbeispielen wird reichlich Gebrauch von Polygonen gemacht.
In R wird die zuletzt definierte Koordinate automatisch mit der zuerst definierten Koordinate verbunden. Als einfaches grafisches Element erzeugt der Befehl polygon(x,y)
kein neues Grafikobjekt. Vielmehr wird zu einem schon erzeugten Grafikobjekt das Polygon hinzugefügt. Wenn kein Grafikobjekt vorhanden ist, wird eine Fehlermeldung ausgegeben.
Syntax
Bearbeitenpolygon(x, y = NULL, density = NULL, angle = 45, border = NULL, col = NA, lty = par("lty"), ...)
Handhabung
BearbeitenEinfache Beispiele
y <- c(9,9,1,1) # y-Werte der Eckpunkte x <- c(1,9,9,1) # x-Werte der Eckpunkte plot(x,y) # Scatterplot der Koordinatenpunkte polygon(x,y) # Ein Quadrat mit den in x und y definierten Koordinaten wird zur Grafik hinzugefügt.
plot(x,y, type = "n") # Grafik, jedoch nur Achsen mit Beschriftungen ohne Datenpunkte polygon(x,y, # Linienzug des Polygons (im Beispiel ein Quadrat) density = 5, # Die Polygonfläche wird mit Linien gefüllt - 5 je Inch angle = 30, # Die Linien haben einen Winkel von 30 Grad col = "red") # alle Linien rot zeichnen
polygon(x,y, # Der Linienzug des ersten Polygons wird überschrieben density = 5, # Die Polygonfläche wird mit Linien gefüllt - 5 je Inch angle = 45, # Die Linien haben einen Winkel von 45 Grad col = "blue") # alle Linien blau zeichnen
Das rote Quadrat wird vom neuen Polygon blau übermalt. Da die Fülllinien des zweiten Polygons einen anderen Winkel als die Fülllinien des ersten Polygons haben, werden keine Fülllinien überschrieben.
plot(x,y, type = "n") # Grafik, jedoch nur Achsen mit Beschriftungen ohne Datenpunkte polygon(x,y, # Linienzug des Polygons (im Beispiel ein Quadrat) density = -1, # Ein negativer Wert für density ermöglicht es, die Polygonfläche mit # Farbe zu füllen. angle = 30, # Da density einen negativen Wert hat, wirkt sich die Winkelangabe nicht aus col = "green") # Polygon grün färben
Die Graphikbeispiele verwenden durchgehend Polygone. Dort können weitere Anregungen für ihre Anwendung entnommen werden.
Parameter | Beschreibung | Beispiel |
x, y
|
x und y sind Vektoren mit den Koordinaten der Eckpunkte. Eine beliebige Anzahl von Eckpunkten ist möglich. Der letzte Punkt wird mit dem ersten verbunden. | |
density
|
Mit density wird die Dichte der Schraffierung festgelegt. Positive Werte bestimmten die Anzahl der Schraffuren je inch (2,54 cm). density = 0 unterdrückt die Ausgabe einer Schraffur. density = NULL oder ein negativer Wert von density bewirken, daß ein Polygon mit Farbe gefüllt wird, sofern eine Füllfarbe angegeben wurde.
|
density=5
|
angle
|
Mit angle wird der Winkel der Schraffur in Grad festgelegt.
|
angle = 45
|
col
|
Mit col wird die Füllfarbe eines Polygons beziehungsweise der Schraffur bestimmt. Falls keine Schraffur definiert ist und das Polygon auch nicht mit Farbe ausgefüllt wird, bezieht sich die Farbangabe auf die Umrandung des Polygons.
|
col="blue"
|
border
|
Mit border kann die Farbe der Umrandung bestimmt werden. Bei Voreinstellung border=NULL erscheint die Umrandung in der Vordergrundfarbe (fb). border=NA bewirkt, dass die Ausgabe der Umrandung unterdrückt wird.
|
border = "black"
|
...
|
... ist kein Parameter sondern nur ein Platzhalter für weitere Grafikparameter, die übergeben werden können. Siehe dazu: par - Funktion zum Setzen grafischer Parameter
|
siehe auch
BearbeitenWeblinks
Bearbeiten