Achsen und Beschriftungen in R
Viele übergeordnete Plotfunktionen (Plot, Hist, Boxplot usw.) ermöglichen es dir, Achsen- und Textoptionen (sowie andere grafische Parameter) hinzuzufügen. Zum Beispiel:
# Specify axis options within plot()
plot(x, y, main="title", sub="subtitle",
xlab="X-axis label", ylab="y-axix label",
xlim=c(xmin, xmax), ylim=c(ymin, ymax))
Für eine feinere Steuerung oder zur Modularisierung kannst du die unten beschriebenen Funktionen nutzen.
Titel
Verwende die Funktion title( )
, um einem Diagramm Beschriftungen hinzuzufügen.
title(main="main title", sub="sub-title",
xlab="x-axis label", ylab="y-axis label")
Viele andere grafische Parameter (wie Textgröße, Schriftart, Drehung und Farbe) können ebenfalls in der Funktion title( )
angegeben werden.
# Add a red title and a blue subtitle. Make x and y
# labels 25% smaller than the default and green.
title(main="My Title", col.main="red",
sub="My Sub-title", col.sub="blue",
xlab="My X label", ylab="My Y label",
col.lab="green", cex.lab=0.75)
Textanmerkungen
Mit den Funktionen text( )
und mtext( )
kann Text zu Diagrammen hinzugefügt werden. text( )
platziert den Text innerhalb des Diagramms, während mtext( )
den Text an einem der vier Ränder platziert.
text(location, "text to place", pos, ...)
mtext("text to place", side, line=n, ...)
Die gängigen Optionen werden im Folgenden beschrieben.
option | Beschreibung |
Standort | Standort kann eine x,y-Koordinate sein. Alternativ kann der Text auch interaktiv mit der Maus platziert werden, indem du die Position als Locator(1) angibst. |
pos | Position relativ zum Ort. 1=unten, 2=links, 3=oben, 4=rechts. Wenn du pos angibst, kannst du offset= in Prozent der Zeichenbreite angeben. |
Seite | welcher Rand den Text platzieren soll. 1=unten, 2=links, 3=oben, 4=rechts. Du kannst line= angeben, um die Linie am Rand anzugeben, die bei 0 beginnt und nach außen verläuft. Du kannst auch adj=0 für die Ausrichtung links/unten oder adj=1 für die Ausrichtung oben/rechts angeben. |
Andere gängige Optionen sind cex
, col
und font
(für Größe, Farbe bzw. Schriftart).
Beschriftungspunkte
Du kannst die Funktion text( )
(siehe oben) verwenden, um Punkte zu beschriften oder andere Textanmerkungen hinzuzufügen. Gib den Ort als eine Reihe von x- und y-Koordinaten an und gib den zu platzierenden Text als Vektor von Beschriftungen an. Die x-, y- und Label-Vektoren sollten alle gleich lang sein.
# Example of labeling points
attach(mtcars)
plot(wt, mpg, main="Milage vs. Car Weight",
xlab="Weight", ylab="Mileage", pch=18, col="blue")
text(wt, mpg, row.names(mtcars), cex=0.6, pos=4, col="red")
Mathe-Kommentare
Du kannst mit TEX-ähnlichen Regeln mathematische Formeln zu einem Diagramm hinzufügen. Siehe help(plotmath)
für Details und Beispiele.
Äxte
Du kannst mit der Funktion axis( )
eigene Achsen erstellen.
axis(side, at=, labels=, pos=, lty=, col=, las=, tck=, ...)
wo
option | Beschreibung |
Seite | eine ganze Zahl, die angibt, auf welcher Seite des Diagramms die Achse gezeichnet werden soll (1=unten, 2=links, 3=oben, 4=rechts) |
unter | ein numerischer Vektor, der angibt, wo die Tick-Marken gezeichnet werden sollen |
Etiketten | ein Zeichenvektor mit Beschriftungen, die an den Häkchen platziert werden sollen (wenn NULL, werden die at-Werte verwendet) |
pos | die Koordinate, an der die Achsenlinie gezeichnet werden soll. (d.h. der Wert auf der anderen Achse, wo sie sich kreuzt) |
lty | Linientyp |
col | die Farbe der Linien und Häkchen |
las | Etiketten sind parallel (=0) oder senkrecht (=2) zur Achse |
tck | Länge der Tickmarkierung als Bruchteil der Plotregion (negative Zahl ist außerhalb des Diagramms, positive Zahl ist innerhalb, 0 unterdrückt Ticks, 1 erzeugt Gitternetzlinien) Standardwert ist -0.01 |
(...) | andere grafische Parameter |
Wenn du eine benutzerdefinierte Achse erstellst, solltest du die Achse, die automatisch von deiner übergeordneten Plotfunktion erzeugt wird, unterdrücken. Die Option axes=FALSE
unterdrückt sowohl die x- als auch die y-Achse. xaxt="n"
und yaxt="n"
unterdrücken jeweils die x- und die y-Achse. Hier ist ein (etwas übertriebenes) Beispiel.
# A Silly Axis Example
# specify the data
x <- c(1:10); y <- x; z <- 10/x
# create extra margin room on the right for an axis
par(mar=c(5, 4, 4, 8) + 0.1)
# plot x vs. y
plot(x, y,type="b", pch=21, col="red",
yaxt="n", lty=3, xlab="", ylab="")
# add x vs. 1/x
lines(x, z, type="b", pch=22, col="blue", lty=2)
# draw an axis on the left
axis(2, at=x,labels=x, col.axis="red", las=2)
# draw an axis on the right, with smaller text and ticks
axis(4, at=z,labels=round(z,digits=2),
col.axis="blue", las=2, cex.axis=0.7, tck=-.01)
# add a title for the right axis
mtext("y=1/x", side=4, line=3, cex.lab=1,las=2, col="blue")
# add a main title and bottom and left axis labels
title("An Example of Creative Axes", xlab="X values",
ylab="Y=X")
Kleinere Markierungen
Die Funktion minor.tick( )
im Hmisc-Paket fügt kleine Häkchen hinzu.
# Add minor tick marks
library(Hmisc)
minor.tick(nx=n, ny=n, tick.ratio=n)
nx
ist die Anzahl der kleinen Häkchen, die zwischen den großen Häkchen auf der x-Achse gesetzt werden. ny
macht dasselbe für die y-Achse. tick.ratio
ist die Größe der kleinen Häkchen im Verhältnis zu den großen Häkchen. Die Länge der Haupttickmarkierung wird von par("tck")
abgerufen.
Referenz-Linien
Füge mit der Funktion abline( )
Referenzlinien zu einem Diagramm hinzu.
abline(h=yvalues, v=xvalues)
Andere grafische Parameter (wie Linientyp, Farbe und Breite) können ebenfalls in der Funktion abline( )
angegeben werden.
# add solid horizontal lines at y=1,5,7
abline(h=c(1,5,7))
# add dashed blue verical lines at x = 1,3,5,7,9
abline(v=seq(1,10,2),lty=2,col="blue")
Hinweis: Du kannst auch die Funktion grid( )
verwenden, um Referenzlinien hinzuzufügen.
Legende
Füge eine Legende mit der Funktion legend()
hinzu.
legend(location, title, legend, ...)
Common options are described below.
option | Beschreibung |
Standort | Es gibt verschiedene Möglichkeiten, die Position der Legende anzugeben. Du kannst eine x,y-Koordinate für die linke obere Ecke der Legende angeben. Du kannst locator(1) verwenden. In diesem Fall verwendest du die Maus, um die Position der Legende anzugeben. Du kannst auch die Schlüsselwörter "unten", "unten-links", "links", "oben-links", "oben", "oben-rechts", "rechts", "unten-rechts" oder "Mitte" verwenden. Wenn du ein Schlüsselwort verwendest, kannst du mit inset= einen Wert angeben, um die Legende in das Diagramm zu verschieben (als Bruchteil des Plotbereichs). |
title | Eine Zeichenkette für den Titel der Legende (optional) |
Legende | Ein Zeichenvektor mit den Bezeichnungen |
... | Andere Optionen. Wenn die Legende farbige Linien beschriftet, gib col= und einen Vektor mit Farben an. Wenn die Legende Punktsymbole beschriftet, gib pch= und einen Vektor mit Punktsymbolen an. Wenn die Legende die Linienbreite oder den Linienstil angibt, verwende lwd= oder lty= und einen Vektor der Breiten oder Stile. Um farbige Kästchen für die Legende zu erstellen (häufig in Balken-, Kasten- oder Kreisdiagrammen), verwendest du fill= und einen Vektor mit Farben. |
Weitere gängige Legendenoptionen sind bty
für den Kastentyp, bg
für die Hintergrundfarbe, cex
für die Größe und text.col
für die Textfarbe. Wenn du horiz=TRUE
einstellst, wird die Legende nicht vertikal, sondern horizontal ausgerichtet.
# Legend Example
attach(mtcars)
boxplot(mpg~cyl, main="Milage by Car Weight",
yaxt="n", xlab="Milage", horizontal=TRUE,
col=terrain.colors(3))
legend("topright", inset=.05, title="Number of Cylinders",
c("4","6","8"), fill=terrain.colors(3), horiz=TRUE)
Mehr über Legenden findest du unter help(legend)
. Die Beispiele in der Hilfe sind besonders informativ.
Zum Üben
Probiere das erste Kapitel dieses Online-Kurses zur Datenvisualisierung in R kostenlos aus .
Dieser Inhalt wurde von statmethods.net übernommen.