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.


polygon(x, y = NULL, density = NULL, angle = 45,
        border = NULL, col = NA, lty = par("lty"), ...)

Handhabung

Bearbeiten

Einfache 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

Bearbeiten
Bearbeiten