En este artículo, vamos a ver cómo dibujar una cuadrícula desequilibrada de gráficos ggplot2 en el lenguaje de programación R. Usamos principalmente las funciones grid.arrange() y OrganizeGrob() . Lo que sigue es la breve información de estas dos funciones.
- grid.arrange(): calculará un número diferente de filas y columnas para organizar las parcelas y para formar diseños anidados de parcelas
Sintaxis: grid.arrange(plot, nrow, ncol)
Parámetro:
- plot: ggplot2 parcela que queremos organizar
- nrow: Número de filas
- ncol: Número de columnas
Devolución: Arreglo de parcela
- arreglaGrob(): Esta función toma muchos parámetros, por ejemplo. layout_matrix, as.table, respect, top, bottom, left, right y muchos más.
Sintaxis: arreglarGrob(…, alturas)
Parámetro:
- …: parcelas ggplot2 que queremos organizar en la misma página
- heights : Alturas de esas parcelas
Regreso: organizar varias parcelas en la misma página con una cuadrícula diferente
Primero, debemos cargar algunos paquetes R que se usarán más adelante en este ejemplo. Usaremos el paquete ggplot2 para dibujar la trama y gridExtra para dibujar varias cuadrículas en la trama.
install.packages("ggplot2") library("ggplot2") install.packages("gridExtra") library("gridExtra")
Para los datos del diagrama de dispersión, elegimos unos 50 valores aleatorios para los ejes X e Y , ambos usando la función rnorm() que puede generar valores normales aleatorios. Luego cree un DataFrame y asígnelo al objeto de datos ‘datos’ .
data <- data.frame(x = rnorm(50), y = rnorm(50))
Ahora creamos un diagrama de dispersión usando la función ggplot() y lo hacemos disperso usando la función geom_point() .
A continuación se muestra la implementación:
R
# Load Packages library("ggplot2") library("gridExtra") # Create data for Plotting data <- data.frame(x = rnorm(50), y = rnorm(50)) # Create Simple Scatter Plot gplot <- ggplot(data, aes(x, y)) + geom_point(col = "green") gplot
Producción:
Cambiar cuadrícula vertical de parcela
Aquí estamos cambiando la cuadrícula vertical de la trama. Usamos la función grid.arrange() del paquete gridExtra. Dentro del paquete grid.arrange(), asignamos gplot (Nuestro gráfico de dispersión) como primer parámetro y ncol como segundo parámetro. ncol simplemente divide el área de la parcela vertical en el valor que le asignamos a ncol. Aquí cambiamos la cuadrícula vertical de la trama a la mitad del espacio de la trama usando «ncol = 2».
Código:
R
# Load Packages library("ggplot2") library("gridExtra") # Create Data for plotting data <- data.frame(x = rnorm(50), y = rnorm(50)) # Create ggplot2 Scatter Plot gplot <- ggplot(data, aes(x, y)) + geom_point(col = "green") # Change the plot grid to half of the plot space. grid.arrange(gplot, ncol = 2)
Producción:
Cambiar cuadrícula horizontal de parcela
Para cambiar la cuadrícula horizontal de la trama, simplemente reemplazamos ncol por el parámetro nrow de la función grid.arrange(). El parámetro nrow toma el valor en el que queremos dividir la parcela horizontalmente. Aquí cambiamos la cuadrícula horizontal de la trama a la mitad del espacio de la trama usando «nrow = 2».
Código:
R
# Load Packages library("ggplot2") library("gridExtra") # Create Data for plotting data <- data.frame(x = rnorm(50), y = rnorm(50)) # Create ggplot2 Scatter Plot gplot <- ggplot(data, aes(x, y)) + geom_point(col = "green") # Change the plot Horizontal grid to half of the plot space. grid.arrange(gplot, nrow = 2)
Producción:
Dibuje varias parcelas de diferentes tamaños de cuadrícula en el mismo espacio de parcela
Para dibujar múltiples parcelas de diferentes tamaños, usamosarrangeGrob() como el segundo parámetro de la función grid.arrange() que tomará la altura y el ancho de cada gráfico como argumento. Primero, tomará gplot como argumento para cada gráfico que queramos crear, y luego también especifica las alturas de cada gráfico usando el parámetro heights .
Código:
R
# Load Packages library("ggplot2") library("gridExtra") # Create Data for plotting data <- data.frame(x = rnorm(50), y = rnorm(50)) # Create ggplot2 Scatter Plot gplot <- ggplot(data, aes(x, y)) + geom_point(col = "green") # Create Multiple Plots with different size of grids. grid.arrange(gplot, arrangeGrob(gplot, gplot, heights = c(0.4, 0.6)), ncol = 2)
Producción:
Publicación traducida automáticamente
Artículo escrito por erkrutikpatel y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA