Der Plot-Character oder pch ist das Standardargument, um das Zeichen festzulegen, das in verschiedenen R-Funktionen gezeichnet wird.
Erklärender Text lässt sich in mehreren Formen zu einem Plot hinzufügen, zum Beispiel als Achsenbeschriftungen, Titel, Legenden oder direkt im Plot. Basis-Grafikfunktionen in R erzeugen standardmäßig Achsenbeschriftungen, die sich jedoch mit den Argumenten xlab() für die x-Achse und ylab() für die y-Achse überschreiben lassen.
Einige Basisfunktionen vergeben auch Standardtitel, die sich wie hier gezeigt ebenfalls überschreiben lassen:
library(MASS)
par(mfrow = c(1,2))
plot(density(geyser$waiting))
plot(density(geyser$waiting), main ="Estimated density: \n Old Faithful waiting times")Bereitgestellt von
Der Plot links nutzt den von der Funktion density zurückgegebenen Standardtitel. Er zeigt, dass der Plot mit den Standardoptionen dieser Funktion erstellt wurde, und nennt außerdem die R-Spezifikation der Variablen, deren Dichte dargestellt wird. Im rechten Plot wurde dieser Standardtitel durch das optionale Argument main ersetzt. Indem der Zeilenumbruch "\n" in den Titel aufgenommen wird, entsteht ein zweizeiliger Titel.
text() Function
Wie lines und points ist text eine Low-Level-Grafikfunktion, mit der du erklärenden Text zu einem bestehenden Plot hinzufügst. Dafür gibst du die Koordinaten x und y an, also die Stelle im Plot, an der der Text erscheinen soll, sowie labels, einen Zeichenvektor mit dem einzufügenden Text.
Standardmäßig wird der Text über den angegebenen x-Werten zentriert, aber mit dem optionalen Argument adj lässt sich die Ausrichtung anpassen.
Wichtig: Das Argument adj in der Funktion text() steuert die horizontale Platzierung des Textes und kann jeden Wert zwischen 0 (linksbündig) und 1 (rechtsbündig) annehmen. Tatsächlich sind auch Werte außerhalb dieses Bereichs möglich. Negative Werte lassen den Text rechts der angegebenen x-Position beginnen. Entsprechend endet der Text bei adj größer als 1 links der x-Position.
library(MASS)
plot(UScereal$fibre)
text(5,28,"<-- Outliers [left-justified text at (5, 28)]", adj =0)
text(65,23,"[Right-justified text at (65, 23)]", adj =1, col ="red")
text(5,28,"[Centered text (default) at (31, 18)]", col ="blue")Bereitgestellt von
Schriften, Ausrichtungen und weitere Texteigenschaften
Unten siehst du, wie sich das Erscheinungsbild des hinzugefügten Textes über optionale Argumente der Funktion text anpassen lässt. Standardmäßig wird Text horizontal gesetzt, das lässt sich jedoch mit dem Argument srt ändern, das den Winkel relativ zur Horizontalen angibt.
Der rote Text steigt nach oben, weil srt als positiver Wert 30 Grad gesetzt wurde, während der grüne Text mit srt = -45 nach unten geneigt ist.
Mit dem Argument col legst du die Textfarbe fest. Der rote Text zeigt außerdem, dass sich die Textgröße mit cex ändern lässt. Mit cex = 1.2 ist der Text 20% größer als normal.
Eine weitere Eigenschaft ist die Schriftart, gesteuert über font. Der Standardwert font = 1 steht für normal, font = 2 für fett, font = 3 für kursiv und font = 4 für fett kursiv.
library(MASS)
plot(Boston$rad)# "Inner city" with adjusted colour and rotation
text(350,24, adj =1,"Inner city? -->", srt =30, font =2, cex =1.2, col ="red")# "Suburbs" with adjusted colour and rotation
text(100,15,"Suburbs? -->", srt =-45, font =3, col ="green")
title("Text with varying orientations, fonts, sizes & colors")Bereitgestellt von
Textposition, -größe und Schrift anpassen
Im folgenden Beispiel wirst du:
Einen Plot von MPG.city gegen Horsepower aus dem Data Frame Cars93 erstellen, mit offenen Kreisen als Datenpunkte (Standard-pch).
Die Variable index3 mit which() konstruieren, um die Zeilennummern aller 3-Zylinder-Autos zu identifizieren.
Mit points() gefüllte Kreise (pch = 16) über die Punkte legen, die 3-Zylinder-Autos darstellen.
Mit text() und der Variable Make wie zuvor Labels rechts neben den 3-Zylinder-Autos platzieren, diesmal jedoch mit adj = 0.2 weiter nach rechts verschieben, mit cex die Labelgröße um 20 Prozent erhöhen und mit font fett kursiv setzen.
# Plot MPG.city vs. Horsepower as open circles
plot(Cars93$Horsepower, Cars93$MPG.city)# Create index3, pointing to 3-cylinder cars
index3 <- which(Cars93$Cylinders ==3)# Highlight 3-cylinder cars as solid circles
points(Cars93$Horsepower[index3],
Cars93$MPG.city[index3],
pch =16)# Add car names, offset from points, with larger bold text
text(Cars93$Horsepower[index3],
Cars93$MPG.city[index3],
Cars93$Make[index3],
adj =-0.2, cex =1.2, font =4)Bereitgestellt von
Wenn du den obigen Code ausführst, erhältst du folgendes Ergebnis:
Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Der Plot-Character oder pch ist das Standardargument, um das Zeichen festzulegen, das in verschiedenen R-Funktionen gezeichnet wird.
Erklärender Text lässt sich in mehreren Formen zu einem Plot hinzufügen, zum Beispiel als Achsenbeschriftungen, Titel, Legenden oder direkt im Plot. Basis-Grafikfunktionen in R erzeugen standardmäßig Achsenbeschriftungen, die sich jedoch mit den Argumenten
xlab()für die x-Achse undylab()für die y-Achse überschreiben lassen.Einige Basisfunktionen vergeben auch Standardtitel, die sich wie hier gezeigt ebenfalls überschreiben lassen:
Der Plot links nutzt den von der Funktion density zurückgegebenen Standardtitel. Er zeigt, dass der Plot mit den Standardoptionen dieser Funktion erstellt wurde, und nennt außerdem die R-Spezifikation der Variablen, deren Dichte dargestellt wird. Im rechten Plot wurde dieser Standardtitel durch das optionale Argument
mainersetzt. Indem der Zeilenumbruch "\n" in den Titel aufgenommen wird, entsteht ein zweizeiliger Titel.text()FunctionWie
linesundpointsisttexteine Low-Level-Grafikfunktion, mit der du erklärenden Text zu einem bestehenden Plot hinzufügst. Dafür gibst du die Koordinatenxundyan, also die Stelle im Plot, an der der Text erscheinen soll, sowielabels, einen Zeichenvektor mit dem einzufügenden Text.Standardmäßig wird der Text über den angegebenen x-Werten zentriert, aber mit dem optionalen Argument
adjlässt sich die Ausrichtung anpassen.Wichtig: Das Argument
adjin der Funktiontext()steuert die horizontale Platzierung des Textes und kann jeden Wert zwischen 0 (linksbündig) und 1 (rechtsbündig) annehmen. Tatsächlich sind auch Werte außerhalb dieses Bereichs möglich. Negative Werte lassen den Text rechts der angegebenenx-Position beginnen. Entsprechend endet der Text beiadjgrößer als 1 links derx-Position.Schriften, Ausrichtungen und weitere Texteigenschaften
Unten siehst du, wie sich das Erscheinungsbild des hinzugefügten Textes über optionale Argumente der Funktion
textanpassen lässt. Standardmäßig wird Text horizontal gesetzt, das lässt sich jedoch mit dem Argumentsrtändern, das den Winkel relativ zur Horizontalen angibt.Der rote Text steigt nach oben, weil
srtals positiver Wert 30 Grad gesetzt wurde, während der grüne Text mitsrt = -45nach unten geneigt ist.Mit dem Argument
collegst du die Textfarbe fest. Der rote Text zeigt außerdem, dass sich die Textgröße mitcexändern lässt. Mitcex = 1.2ist der Text 20% größer als normal.Eine weitere Eigenschaft ist die Schriftart, gesteuert über
font. Der Standardwertfont = 1steht für normal,font = 2für fett,font = 3für kursiv undfont = 4für fett kursiv.Textposition, -größe und Schrift anpassen
Im folgenden Beispiel wirst du:
MPG.citygegenHorsepoweraus dem Data FrameCars93erstellen, mit offenen Kreisen als Datenpunkte (Standard-pch).index3mitwhich()konstruieren, um die Zeilennummern aller 3-Zylinder-Autos zu identifizieren.points()gefüllte Kreise (pch = 16) über die Punkte legen, die 3-Zylinder-Autos darstellen.text()und der VariableMakewie zuvor Labels rechts neben den 3-Zylinder-Autos platzieren, diesmal jedoch mitadj = 0.2weiter nach rechts verschieben, mitcexdie Labelgröße um 20 Prozent erhöhen und mitfontfett kursiv setzen.Wenn du den obigen Code ausführst, erhältst du folgendes Ergebnis:
Probier es selbst aus.
Mehr zum Hinzufügen von Text zu Plots findest du in diesem Video aus unserem Kurs Data Visualization in R.
Dieser Inhalt stammt aus DataCamps Kurs Data Visualization in R von Ronald Pearson.