Direkt zum Inhalt
Urkunden
Datenmanagement in RDateneingabe in RGraphen in RR DokumentationR SchnittstelleStatistik in R

Kombinieren von Diagrammen in R

R macht es einfach, mehrere Diagramme zu einem Gesamtdiagramm zu kombinieren, indem du entweder die Funktion thepar( ) oder layout( ) verwendest.

Mit der Funktion par( ) kannst du die Option mfrow=c(nrowsncols) hinzufügen, um eine Matrix aus n Zeilen x n Spalten zu erstellen, die zeilenweise ausgefüllt wird. mfcol=c(nrowsncols) füllt die Matrix spaltenweise aus.

# 4 figures arranged in 2 rows and 2 columns
attach(mtcars)
par(mfrow=c(2,2))
plot(wt,mpg, main="Scatterplot of wt vs. mpg")
plot(wt,disp, main="Scatterplot of wt vs disp")
hist(wt, main="Histogram of wt")
boxplot(wt, main="Boxplot of wt")

Layout 1

# 3 figures arranged in 3 rows and 1 column
attach(mtcars)
par(mfrow=c(3,1))
hist(wt)
hist(mpg)
hist(disp)

Layout 2

Die Funktion layout( ) hat die Form layout(mat), wobei mat ein Matrixobjekt ist, das die Position der N Zahlen angibt, die gezeichnet werden sollen.

# One figure in row 1 and two figures in row 2
attach(mtcars)
layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE))
hist(wt)
hist(mpg)
hist(disp)

Layout 3

Optional kannst du die Optionen widths= und heights= in die Funktion layout( ) aufnehmen, um die Größe der einzelnen Figuren genauer zu steuern. Diese Optionen haben die Form:

  • widths= ein Vektor von Werten für die Breite der Spalten
  • heights= ein Vektor von Werten für die Höhen der Zeilen

Relative Breiten werden mit numerischen Werten angegeben. Absolute Breiten (in Zentimetern) werden mit der Funktion lcm() angegeben.

# One figure in row 1 and two figures in row 2
# row 1 is 1/3 the height of row 2
# column 2 is 1/4 the width of the column 1
attach(mtcars)
layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE),
  widths=c(3,1), heights=c(1,2))
hist(wt)
hist(mpg)
hist(disp)

Layout3a 689x689

Siehe help(layout) für weitere Informationen.

Erstellen eines Figurenarrangements mit Feinsteuerung

Im folgenden Beispiel werden zwei Boxplots zum Scatterplot hinzugefügt, um ein erweitertes Diagramm zu erstellen.

# Add boxplots to a scatterplot
par(fig=c(0,0.8,0,0.8), new=TRUE)
plot(mtcars$wt, mtcars$mpg, xlab="Car Weight",
  ylab="Miles Per Gallon")
par(fig=c(0,0.8,0.55,1), new=TRUE)
boxplot(mtcars$wt, horizontal=TRUE, axes=FALSE)
par(fig=c(0.65,1,0,0.8),new=TRUE)
boxplot(mtcars$mpg, axes=FALSE)
mtext("Enhanced Scatterplot", side=3, outer=TRUE, line=-3)

Layout 4 Erweiterte Diagramme

Um dieses Diagramm zu verstehen, stell dir vor, dass der gesamte Bereich des Diagramms von (0,0) in der unteren linken Ecke bis (1,1) in der oberen rechten Ecke reicht. Das Format des Parameters fig= ist ein numerischer Vektor der Form c(x1, x2, y1, y2). Auf der ersten Seite fig= wird ein Streudiagramm erstellt, das auf der x-Achse von 0 bis 0,8 und auf der y-Achse von 0 bis 0,8 reicht. Der obere Boxplot reicht von 0 bis 0,8 auf der x-Achse und 0,55 bis 1 auf der y-Achse. Ich habe 0,55 statt 0,8 gewählt, damit die obere Zahl näher an das Streudiagramm gezogen wird. Der rechte Boxplot reicht von 0,65 bis 1 auf der x-Achse und 0 bis 0,8 auf der y-Achse. Auch hier habe ich einen Wert gewählt, der den rechten Boxplot näher an den Scatterplot zieht. Du musst experimentieren, um es richtig hinzubekommen.

fig= beginnt einen neuen Plot. Um einen bestehenden Plot zu ergänzen, verwende new=TRUE.

Damit kannst du mehrere Diagramme in beliebiger Anordnung zu einem einzigen Diagramm zusammenfassen.

Zum Üben

Probiere das kostenlose erste Kapitel dieses interaktiven Datenvisualisierungskurses aus, in dem es um die Kombination von Diagrammen geht.

Dieser Inhalt wurde von statmethods.net übernommen.

R Grundlagen lernen

Beherrsche die Grundlagen der Datenanalyse in R, einschließlich Vektoren, Listen und Datenrahmen, und übe R mit echten Datensätzen.
Beginne R kostenlos zu lernen