Liniendiagramme in R
Übersicht
Liniendiagramme werden mit der Funktion lines(x , y, type=) erstellt, wobei x und y numerische Vektoren der zu verbindenden (x,y) Punkte sind. type= kann die folgenden Werte annehmen:
Typ | Beschreibung |
p | Punkte |
l | Zeilen |
o | überplottete Punkte und Linien |
b, c | Punkte (leer, wenn "c"), die durch Linien verbunden sind |
s, S | Treppenstufen |
h | histogrammartige vertikale Linien |
n | erzeugt keine Punkte oder Linien |
Die Funktion lines( ) fügt Informationen zu einem Diagramm hinzu. Es kann nicht von selbst ein Diagramm erstellen. Normalerweise folgt ein plot(x , y) -Befehl, der ein Diagramm erzeugt.
Standardmäßig stellt plot( ) die (x,y)-Punkte dar. Verwende die Option type="n" im Befehl plot( ), um das Diagramm mit Achsen, Titeln usw. zu erstellen, aber ohne die Punkte zu plotten.
Beispiel
Im folgenden Code wird jede der type= Optionen auf denselben Datensatz angewendet. Der Befehl plot( ) richtet das Diagramm ein, aber nicht die Punkte auf.
x <- c(1:5); y <- x # create some data
par(pch=22, col="red") # plotting symbol and color
par(mfrow=c(2,4)) # all plots on one page
opts = c("p","l","o","b","c","s","S","h")
for(i in 1:length(opts)){
heading = paste("type=",opts[i])
plot(x, y, type="n", main=heading)
lines(x, y, type=opts[i])
}
Als Nächstes demonstrieren wir jede der type=-Optionen, wenn plot( ) den Graphen einrichtet und _ die Punkte aufträgt.
x <- c(1:5); y <- x # create some data
par(pch=22, col="blue") # plotting symbol and color
par(mfrow=c(2,4)) # all plots on one page
opts = c("p","l","o","b","c","s","S","h")
for(i in 1:length(opts){
heading = paste("type=",opts[i])
plot(x, y, main=heading)
lines(x, y, type=opts[i])
}
Wie du siehst, sieht die Option type="c" nur dann anders aus als die Option type="b", wenn das Plotten von Punkten im Befehl plot( ) unterdrückt wird.
Um die Erstellung eines komplexeren Liniendiagramms zu veranschaulichen, wollen wir das Wachstum von 5 Orangenbäumen im Laufe der Zeit darstellen. Jeder Baum hat seine eigene, unverwechselbare Linie. Die Daten stammen aus dem Dataset Orange.
# Create Line Chart
# convert factor to numeric for convenience
Orange$Tree <- as.numeric(Orange$Tree)
ntrees <- max(Orange$Tree)
# get the range for the x and y axis
xrange <- range(Orange$age)
yrange <- range(Orange$circumference)
# set up the plot
plot(xrange, yrange, type="n", xlab="Age (days)",
ylab="Circumference (mm)" )
colors <- rainbow(ntrees)
linetype <- c(1:ntrees)
plotchar <- seq(18,18+ntrees,1)
# add lines
for (i in 1:ntrees) {
tree <- subset(Orange, Tree==i)
lines(tree$age, tree$circumference, type="b", lwd=1.5,
lty=linetype[i], col=colors[i], pch=plotchar[i])
}
# add a title and subtitle
title("Tree Growth", "example of line plot")
# add a legend
legend(xrange[1], yrange[2], 1:ntrees, cex=0.8, col=colors,
pch=plotchar, lty=linetype, title="Tree")
Weiter gehen
Probiere die Übungen in diesem Kurs zum Plotten und zur Datenvisualisierung in R aus.