R facilita la combinación de varios gráficos en un gráfico global, utilizando las funciones thepar( ) o layout( ).
Con la función par( ), puedes incluir la opción mfrow=c(nrows, ncols) para crear una matriz de tramas n filas x n columnas que se rellena por filas. mfcol=c(nrows, ncols) rellena la matriz por columnas.
# 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")Con la tecnología de
# 3 figures arranged in3 rows and 1 column
attach(mtcars)par(mfrow=c(3,1))hist(wt)hist(mpg)hist(disp)Con la tecnología de
La función layout( ) tiene la forma layout(mat) donde mat es un objeto matriz que especifica la ubicación de las N figuras a trazar.
# 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)Con la tecnología de
Opcionalmente, puedes incluir las opciones anchura= y altura= en la función layout( ) para controlar el tamaño de cada figura con mayor precisión. Estas opciones tienen la forma
anchuras= un vector de valores para las anchuras de las columnas
alturas= un vector de valores para las alturas de las filas
Las anchuras relativas se especifican con valores numéricos. Las anchuras absolutas (en centímetros) se especifican con la función lcm().
# 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)Con la tecnología de
Consulta help(layout) para más detalles.
Crear un arreglo de figuras con control fino
En el siguiente ejemplo, se añaden dos gráficos de caja a scatterplot para crear un gráfico mejorado.
# 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)Con la tecnología de
Para entender este gráfico, piensa que el área completa del gráfico va desde (0,0) en la esquina inferior izquierda hasta (1,1) en la esquina superior derecha. El formato del parámetro fig= es un vector numérico de la forma c(x1, x2, y1, y2). El primer fig= establece el gráfico de dispersión que va de 0 a 0,8 en el eje x y de 0 a 0,8 en el eje y. El boxplot superior va de 0 a 0,8 en el eje x y de 0,55 a 1 en el eje y. He elegido 0,55 en lugar de 0,8 para que la figura superior se acerque más al gráfico de dispersión. El boxplot de la derecha va de 0,65 a 1 en el eje x y de 0 a 0,8 en el eje y. De nuevo, elegí un valor para acercar el diagrama de caja de la derecha al diagrama de dispersión. Tienes que experimentar para conseguirlo.
fig= inicia una nueva parcela, así que para añadirla a una parcela existente utiliza new=TRUE.
Puedes utilizarlo para combinar varios gráficos en cualquier disposición en un solo gráfico.
R facilita la combinación de varios gráficos en un gráfico global, utilizando las funciones
thepar( )olayout( ).Con la función
par( ), puedes incluir la opciónmfrow=c(nrows, ncols)para crear una matriz de tramas n filas x n columnas que se rellena por filas.mfcol=c(nrows, ncols)rellena la matriz por columnas.La función
layout( )tiene la formalayout(mat)dondemates un objeto matriz que especifica la ubicación de las N figuras a trazar.Opcionalmente, puedes incluir las opciones anchura= y altura= en la función
layout( )para controlar el tamaño de cada figura con mayor precisión. Estas opciones tienen la formaLas anchuras relativas se especifican con valores numéricos. Las anchuras absolutas (en centímetros) se especifican con la función
lcm().Consulta
help(layout)para más detalles.Crear un arreglo de figuras con control fino
En el siguiente ejemplo, se añaden dos gráficos de caja a scatterplot para crear un gráfico mejorado.
Para entender este gráfico, piensa que el área completa del gráfico va desde (0,0) en la esquina inferior izquierda hasta (1,1) en la esquina superior derecha. El formato del parámetro
fig=es un vector numérico de la forma c(x1, x2, y1, y2). El primerfig=establece el gráfico de dispersión que va de 0 a 0,8 en el eje x y de 0 a 0,8 en el eje y. El boxplot superior va de 0 a 0,8 en el eje x y de 0,55 a 1 en el eje y. He elegido 0,55 en lugar de 0,8 para que la figura superior se acerque más al gráfico de dispersión. El boxplot de la derecha va de 0,65 a 1 en el eje x y de 0 a 0,8 en el eje y. De nuevo, elegí un valor para acercar el diagrama de caja de la derecha al diagrama de dispersión. Tienes que experimentar para conseguirlo.fig=inicia una nueva parcela, así que para añadirla a una parcela existente utilizanew=TRUE.Puedes utilizarlo para combinar varios gráficos en cualquier disposición en un solo gráfico.
Practicar
Prueba gratis el primer capítulo de este curso interactivo de visualización de datos, que trata sobre la combinación de gráficos.
Este contenido ha sido extraído de statmethods.net.