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(nrows, ncols) hinzufügen, um eine Matrix aus n Zeilen x n Spalten zu erstellen, die zeilenweise ausgefüllt wird. mfcol=c(nrows, ncols) füllt die Matrix spaltenweise aus.
# 4 figures arranged in2 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")Bereitgestellt von
# 3 figures arranged in3 rows and 1 column
attach(mtcars)par(mfrow=c(3,1))hist(wt)hist(mpg)hist(disp)Bereitgestellt von
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 2attach(mtcars)layout(matrix(c(1,1,2,3),2,2, byrow =TRUE))hist(wt)hist(mpg)hist(disp)Bereitgestellt von
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 1attach(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)Bereitgestellt von
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)Bereitgestellt von
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.
R macht es einfach, mehrere Diagramme zu einem Gesamtdiagramm zu kombinieren, indem du entweder die Funktion
thepar( )oderlayout( )verwendest.Mit der Funktion
par( )kannst du die Optionmfrow=c(nrows, ncols)hinzufügen, um eine Matrix aus n Zeilen x n Spalten zu erstellen, die zeilenweise ausgefüllt wird.mfcol=c(nrows, ncols)füllt die Matrix spaltenweise aus.Die Funktion
layout( )hat die Formlayout(mat), wobeimatein Matrixobjekt ist, das die Position der N Zahlen angibt, die gezeichnet werden sollen.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:Relative Breiten werden mit numerischen Werten angegeben. Absolute Breiten (in Zentimetern) werden mit der Funktion
lcm()angegeben.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.
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 Seitefig=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, verwendenew=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.