Farben
Farben kann man z.B. mit den Attributen col
oder bg
angeben. Farbbezeichnungen kann man auf diverse Arten angeben, z.B. col="red"
oder col=2
.
Für die Zahlen 1 bis 8 erhählt man die obigen Farben. Nach 8 wiederholen sich die Farben.
Farben mit colours() / colors()
Mit colours()
bzw. colors()
erhält man eine Liste von vordefinierten Farben und ihren Namen. Hier z.B. die ersten zehn:
[1] "white" "aliceblue" "antiquewhite" "antiquewhite1"
[5] "antiquewhite2" "antiquewhite3" "antiquewhite4" "aquamarine"
[9] "aquamarine1" "aquamarine2"
In dem Vektor sind length(colours()) = 657
Farben - darunter auch grey0-grey100 und gray0-gray100. Die Farben kann man in einer Grafik ausgeben, um zu schauen welche Farben sich hinter den Farbnamen verbergen.
Nun kann man sich eine Farbe aussuchen. Hier nehmen wir x = 38 und y = 4 (rot eingekastelt), also hat die ausgesuchte Farbe den Namen: colours()[73*(y-1)+x] = colours()[73*(4-1)+38] = colours()[257] = "green3"
.
Farben selbstdefinieren
Man kann auch Farben selbstdefinieren, z.B. mit rgb(
rot, grün, blau, alphaName, MaxFarbWert)
. Die Werte für rot, grün, blau und den alpha-Wert (Transparenz) müssen zwischen 0 und MaxFarbWert liegen. Man kann Farben auch mit #
und einer Hexadezimalzahl definieren - der alpha-Wert ist optional.
Beispiel: Wir definieren zuerst einen Vektor von Farben f
und plotten diesen dann über eine Reihe von schwarzen Punkten.
plot(1:4, rep(0,4), col="black", pch=16, cex=2, axes=FALSE,xlim=c(0,5))
points(1:4, rep(0,4), col=f, pch=15, cex=7)
Wenn man sich f
ausgeben lässt, erhält man die Farben in Hexadezimalzahlen. Man kann z.B. die Farbe auch so col="#C864FAFF"
angeben.
sdf1 sdf2 sdf3 sdf4
"#C864FA32" "#C864FA64" "#C864FAC8" "#C864FAFF"
Legenden
Mit dem Befehl legend()
kann man eine Legende in einen Plot einfügen.
plot(x, col=ifelse(sign(x)==-1, "red", "blue"))
legend("topleft", c("positiv", "negativ"), text.col=c("red", "blue"), cex=0.7)
legend("left", c("positiv", "negativ"), bg="white", pch=15, col=c("red", "blue"), pt.cex=2)
legend(0, -2.8, c("positiv", "negativ"), col=c("red", "blue"), box.col="darkgreen", xpd=TRUE, lty=c(2,3))
legend(10, 3.2, c("positiv", "negativ"), pch=1, col=c("red", "blue"), horiz=TRUE, xpd=TRUE)
legend("center", c("positiv", "negativ"), pch=1, lwd=1, col=c("red", "blue"))
legend("bottom", c("positiv", "negativ"), lwd=2, col=c("red", "blue"), title="Titel")
legend("topright", c("positiv", "negativ"), fill=c("red", "blue"), density=50, angle=130, inset=0.05)
legend("right", c("positiv", "negativ"), fill=c("red", "blue"), x.intersp=0.2)
legend("bottomright", c("positiv", "negativ"), fill=c("red", "blue"), density=20, y.intersp=0.7)
points(a<-c(5,7,9,23,20.5,20.5,30.5,32,32), b<-c(2,0,-3.3,2.8,0,-1.5,1.7,0,-1.7), cex=3, xpd=TRUE, bg="white", pch=21)
text(a, b, 1:9, font=2, xpd=TRUE)
Erklärungen zu den Attributen des Befehls lengend()
anhand der Grafik
1) | "topleft" |
Position der Legende | |
cex |
Schriftgröße | ||
text.col |
Schriftfarbe | ||
2) | bg |
Hintergrundfarbe der Legende | |
pch |
Symboltyp | ||
pt.cex |
Größe des Symbols | ||
3) | x=0, y=-2.8 |
Position der Legende | |
box.col |
Farbe der Umrandung | ||
xpd |
Plotting in der gesamten figure region | ||
lty |
Linientyp | ||
4) | horiz |
horizontale Anordnung | |
5) | lwd |
Linienstärke | |
6) | title |
Titel der Legende | |
7) | fill |
farbige Quadrate | |
density |
Dichte der Schraffur | ||
angle |
Winkel der Schraffur | ||
8) | x.intersp |
horizontale Abstände (Symbol-Text,Text-Rand) | |
9) | y.intersp |
vertikale Abstände (Text-Text,Text-Rand) |
Weitere Attribute kann man in der R Hilfe nachlagen [1]
Positionierung einer Legende
Die Position einer Legende kann man
- durch Schlüsselwörter angeben, z.B.
"top"
,"right"
,"left"
,"center"
,"bottomleft"
, usw. - durch die Angabe von x- und y-Koordinate (der linken oberen Ecke) angeben.
- mit Hilfe der Funktion
locator()
festlegen.
Mitlocator(n=1)
wird die Legende dort gezeichnet, wo der Benutzer mit der Maus hinklickt, dabei wird von der Funktion ein Klick erwartet.
Beispiel:plot(x, col=ifelse(sign(x)==-1, "red", "blue"))
legend(locator(n=1), c("positiv", "negativ"), pch=1, lwd=1, col=c("red", "blue"))
Symbole
Mit dem Attribut pch
kann man das Symbol, das z.B. in den Funktionen plot()
oder points()
verwendet wird, bestimmen. Die Symbole 0-18 sind mit S kompatibel; 0-25 sind R Symbole; 26-31 werden nicht benutzt; 32-127 sind ASCII Zeichen [2].
Mit dem Vektor der Symbolnummern füllt man eine Matrix und gibt die Symbole dann in einer Grafik aus, um zuschauen welche Symbole sich hinter den Nummern verbergen.
Nun kann man sich ein Symbol aussuchen. Hier nehmen wir x = 4 und y = 2 (rot eingekastelt), also hat das ausgesuchte Symbol die Nummer pch
= 16*(y-1)+x-1 = 16*(2-1)+4-1 = 19.
Zweifarbige Symbole
Die Symbole 21-25 kann man zweifarbig darstellen, in dem man die Hintergrundfarbe mit dem Attribut bg
und die Farbe für die Umrandung mit dem Attribut col
angibt. Mit lwd
kann man die Dicke der Umrandung angeben.
plot(1:5, rep(1, 5), col="blue", bg="red", pch=21:25, cex=4, lwd=1:5, axes=FALSE, xlim=c(0, 6), ylim=c(0.5, 1.5))
text(1:5, rep(1, 5), labels="21":"25", col="white")
par(opar)
Quellen: | |
[1] | Add Legends to Plots R: help(legend) bzw. ?legend |
[2] | Add Points to a Plot R: help(points) bzw. ?points |
[3] | Set or Query Graphical Parameters R: help(par) bzw. ?par |
[4] | RGB Color Specification R: help(rgb) bzw. ?rgb |
14.10.2009 (R: 2.8.1-2.9.2)