Logotipo de Zephyrnet

Una guía completa sobre ggplot2 en R

Fecha:

ggplot2 en R

                                                                  Fuente de la imagen: Autor

Introducción

La visualización juega un papel importante en el proceso de toma de decisiones después de analizar los datos relevantes. La representación gráfica que destaca la interdependencia de los elementos clave que afectan el desempeño es importante en el proceso anterior. Hay muchas bibliotecas en Python y R que brindan diferentes opciones que muestran una variedad de visualizaciones geométricas y pictóricas que pueden ser atractivas e informativas.

R admite una variedad de funciones y paquetes de visualización de datos para crear imágenes interactivas para el análisis exploratorio de datos. Una de esas bibliotecas disponible en R es ggplot2. Esta guía se centrará en las capacidades de visualización de ggplot2 en R. Aprenderá a crear algunos gráficos populares y a personalizarlos con ggplot2 en R.

ggplot2 en R

                                                                      Fuente de la imagen: Autor

¿Qué es ggplot2?

ggplot2 en R es la última versión de la famosa herramienta de visualización de datos de código abierto ggplot para el lenguaje de programación estadística R. El término ggplot2 se relaciona con el nombre del paquete. Usamos la función ggplot() para producir los gráficos cuando usamos el paquete. Por lo tanto, ggplot() es el comando y el paquete completo se llama ggplot2. Es parte de R tidyverse, un ecosistema de paquetes diseñados con API comunes.

Es la alternativa más utilizada a los gráficos base R. Se basa en la Gramática de Gráficos y es muy flexible. Nos permite construir y personalizar gráficos añadiendo más capas. Esta biblioteca simplifica la creación de gráficos listos para publicar. El paquete ggplot2 en R incluye temas para personalizar gráficos. Con los componentes de la función del tema, se pueden cambiar los colores, los tipos de línea, los tipos de letra y la alineación de la trama, entre otras cosas. Varias opciones le permiten personalizar el gráfico agregando títulos, subtítulos, flechas, textos o líneas.

La Gramática de los Gráficos nos ayuda a construir representaciones gráficas a partir de diferentes elementos visuales. Esta gramática nos permite comunicarnos sobre los componentes de la trama. La gramática de los gráficos fue creada por Leland Wilkinson y fue adaptada por Hadley Wickham.

Un ggplot se compone de algunos componentes básicos:

Fecha: Los datos sin procesar que desea trazar.
Geometrías geom_: Las formas geométricas utilizadas para visualizar los datos.
Estética aes(): Estética perteneciente a los objetos geométricos y estadísticos, como color, tamaño, forma, ubicación y transparencia.
Básculas scale_: incluye un conjunto de valores para cada mapeo estético en la trama
Transformaciones estadísticas stat_: calcula los diferentes valores de datos utilizados en el gráfico.
Sistema coordinado coord_: se utiliza para organizar los objetos geométricos mediante el mapeo de coordenadas de datos
Facetas facet_: se muestra una cuadrícula de gráficos para grupos de datos.
Temas visuales tema (): los elementos visuales generales de una trama, como cuadrículas y ejes, fondo, fuentes y colores.

Los requisitos previos son R y R Studio antes de instalar ggplot2. Alternativamente, puede optar por Kaggle o Google Colab para ggplot2.

Instalando ggplot2

Entonces, comencemos instalando primero este paquete usando la función R 'install. paquetes()'.

instalar.paquetes('ggplot2')

Es importante tener en cuenta que ggplot2 viene con varios conjuntos de datos preinstalados. Para ver la lista completa de conjuntos de datos preinstalados, ejecute el siguiente comando:

datos()

Esta guía utilizará el conjunto de datos 'Iris' y el conjunto de datos 'Motor trend car road tests'.

El conjunto de datos del iris contiene dimensiones para 50 flores de tres especies distintas en cuatro características diferentes (en centímetros). Podemos importar el conjunto de datos del iris usando el siguiente comando porque es un conjunto de datos incorporado en R:

datos (iris)
Instalando ggplot2 en R

La función dim se puede usar para mostrar las filas y columnas del conjunto de datos.

tenue (iris)

El conjunto de datos del iris contiene 150 filas y 5 columnas. Usando la función head(), podemos explorar las primeras filas del conjunto de datos.

cabeza (iris)
Conjunto de datos de iris | ggplot2 en R

Si desea resumir rápidamente el conjunto de datos, use la función summary() y resumirá cada variable en el conjunto de datos.

Conjunto de datos | ggplot2 en R

Para todas las variables numéricas en el conjunto de datos, obtenemos la siguiente información:

Min: El valor mínimo de la variable.
1er cuarto: percentil 25 o primer cuartil.
Mediana: Valor central.
Media: Valor promedio.
3er cuarto: percentil 75 o tercer cuartil.
Max: Valor máximo.

Para la variable categórica en el conjunto de datos, obtenemos el conteo de frecuencia de cada valor:

sedoso: Este tipo de especie tiene 50 valores.
versicolor: Este tipo de especie tiene 50 valores.
virginica: Este tipo de especie tiene 50 valores.

El ggplot2 está compuesto por tres elementos básicos: Trama = Datos + Estética + Geometría.

Los siguientes son los elementos esenciales de cualquier trama:

Datos: Es el marco de datos.
Estética: Se utiliza para representar x e y en un gráfico. Puede alterar el color, el tamaño, los puntos, la altura de las barras, etc.
Geometría: Define el tipo de gráficos, es decir, diagrama de dispersión, diagrama de barras, diagrama de fluctuación, etc.

Gráfico de dispersión

Ahora comenzaremos este tutorial con un diagrama de dispersión. Para trazarlo, usaremos la función geom_point(). Aquí trazaremos la variable de longitud del sépalo en el eje x y la variable de longitud del pétalo en el eje y.

ggplot(iris, aes(x=Sepal.Length, y=Petal.Length))+geom_point()

Es importante tener en cuenta que utiliza el operador de suma (+) para agregar la capa geom. Siempre utilizará el operador (+) cuando aumente el número de capas en su visualización.

El conjunto de datos contiene varias especies. Será interesante ver cómo cambia la longitud de los sépalos y pétalos entre especies. Solo es cuestión de aplicar un parámetro de color a la estética. Pondremos el color a especie. Como resultado, las diferentes especies se pueden visualizar con diferentes colores.

ggplot(iris, aes(x=Sépalo.Longitud, y=Pétalo.Longitud, col=Especie))+geom_point()
Gráfico de dispersión | ggplot2 en R

Tenga en cuenta que color, color y col son compatibles con ggplot2.

Los mapeos estéticos utilizan las características de los datos para alterar características visuales como el color, el tamaño, la forma o la transparencia. Como resultado, cada función agrega un elemento de los datos y se utiliza para transmitir información. El método aes() especifica toda la estética de una trama.

Podemos trazar diferentes formas para diferentes especies usando el siguiente comando:

ggplot(iris, aes(x=Sepal.Length, y=Petal.Length, col=Especies, forma=Especies))+geom_point()
Gráfico de dispersión 2 | ggplot2 en R

ggplot2 se puede usar para crear diferentes tipos de gráficos basados ​​en estos fundamentos. Estos gráficos se crean utilizando funciones de Grammar of Graphics. La diferencia entre parcelas es la cantidad de objetos geométricos (geomas) que contienen. Los geoms son compatibles con ggplot2 en una variedad de formas para trazar diferentes gráficos como:

  • Gráfico de dispersión: Para trazar puntos individuales, use geom_point
  • Gráfica de barras: Para dibujar barras, use geom_bar
  • Histogramas: Para dibujar valores agrupados, geom_histogram
  • Gráficos de líneas: Para trazar líneas, use geom_line
  • Polígonos: Para dibujar formas arbitrarias, use geom_polygon
  • Creación de mapas: Use geom_map para dibujar polígonos en forma de mapa usando la función map_data()
  • Creación de patrones: use la función geom_smooth para mostrar tendencias o aproximaciones simples

Se puede agregar una variedad de geometrías a un gráfico, lo que le permite crear visualizaciones complejas que muestran múltiples elementos de sus datos.

ggplot(iris, aes(x=Sépalo.Longitud, y=Pétalo.Longitud, col=Especie))+geom_point() +geom_smooth()
ggplot2 en R

Los puntos y las líneas suavizadas se pueden trazar juntos para las mismas variables x e y, pero con diferentes colores para cada geom.

ggplot(iris, aes(x=Sepal.Length, y=Petal.Length, col=Species)) +geom_point(color = "blue") + geom_smooth(color = "red")
Gráfico de dispersión | ggplot2 en R

Si el ggplot incluye una estética, se pasará a cada punto geom consecutivo. Alternativamente, podemos definir ciertos aes dentro de cada geom, simplemente mostrando ciertas características para él.

# color estético definido para cada punto geom ggplot(iris, aes(x=Sepal.Length, y=Petal.Length, col=Species)) +geom_point() +geom_smooth(se = FALSE)
# color estético definido solo para una capa particular de geom_point ggplot(iris, aes(x=Sepal.Length, y=Petal.Length)) +geom_point(aes(col = Species)) +geom_smooth(se = FALSE)
Longitud del sépalo | ggplot2 en R

Ahora usaremos el conjunto de datos 'mtcars', es decir, el conjunto de datos 'Motor Trend Car Road Tests' de los conjuntos de datos preinstalados para nuestras próximas visualizaciones. Importaremos el conjunto de datos usando el comando data() y obtendremos un vistazo del conjunto de datos usando el comando vislumbrar(), respectivamente. Tenga en cuenta que debe instalar e importar el paquete tidyverse aquí; de lo contrario, arrojará un error.

data(mtcars) biblioteca (tidyverse) vistazo (mtcars)
Pruebas en carretera de coches Motar Trend

Como podemos ver, el conjunto de datos contiene 32 observaciones de 11 variables. Este conjunto de datos es pequeño, simple y consta de variables continuas y categóricas. Las columnas del conjunto de datos mtcars son:

  1. mpg – Millas/galón (EE.UU.)
  2. cyl – Número de cilindros (4, 6, 8)
  3. disp - Desplazamiento (cu.in.)
  4. hp - Potencia bruta
  5. drt - relación del eje trasero
  6. peso – Peso (1000 libras)
  7. qsec – 1/4 de milla de tiempo
  8. vs – V/S (0, 1)
  9. am – Transmisión (0 = automática, 1 = manual)
  10. marcha - Número de marchas hacia adelante (3, 4, 5)
  11. carb - Número de carburadores (1, 2, 3, 4, 6, 8)

Parcela de barra

Este gráfico se utiliza para medir los cambios en un período de tiempo determinado. Es la mejor opción para representar los datos cuando los cambios son grandes.

Primero, trazaremos el gráfico de barras para este conjunto de datos usando el siguiente comando:

ggplot(mtcars, aes(x = engranaje)) +geom_bar()
Parcela de barra

Usando el comando coord_flip(), puede intercambiar el eje x y el eje y,

ggplot(mtcars, aes(x = engranaje)) +geom_bar()+coord_flip()
Gráfico de barras | ggplot2 en R

Transformaciones Estadísticas
Muchas transformaciones estadísticas diferentes son compatibles con ggplot2. Para más niveles, podemos llamar directamente a las funciones stat_. Por ejemplo, aquí, hacemos un diagrama de dispersión de caballos de fuerza vs mpg y luego usamos el resumen de estadísticas para dibujar la media.

ggplot(mtcars, aes(hp, mpg)) + geom_point(color = "azul") + stat_summary(fun.y = "media", geom = "línea", tipo de línea = "discontinua")
Transformación Estadística

Una alfombra muestra los datos de un solo parámetro cuantitativo en el eje en forma de marcas. A menudo se usa junto con diagramas de dispersión o mapas de calor para ilustrar la distribución general de una o ambas variables.

ggplot(mtcars, aes(hp, mpg)) + geom_point(color = "blue") + geom_rug(show.legend = FALSE) +stat_summary(fun.y = "mean", geom = "line", linetype = "discontinua ")
Gráfico de dispersión | ggplot2 en R

Histograma

Se utiliza un histograma para mostrar la distribución de frecuencias de una variable discreta continua.

Usando el comando geom_histogram(), podemos crear un histograma simple:

ggplot(mtcars,aes(x=mpg)) + geom_histogram()
Histograma | ggplot2 en R

Diagrama de caja

Un diagrama de caja muestra la distribución de los datos y la asimetría de los datos con la ayuda de cuartiles y promedios.

De manera similar, podemos usar el comando geom_boxplot() para trazar un diagrama de caja. Graficaremos mpg vs cyl. Antes de trazar el diagrama de caja, visualizaremos las primeras filas ejecutando el comando head():

Diagrama de caja | ggplot2 en R

Como podemos ver en la imagen, mpg es una variable continua, mientras que cyl es categórica. Entonces, antes de graficar, convertimos la variable cyl en un factor. A continuación se muestra el gráfico de salida.

Parcela boxeadores y bigotes | ggplot2 en R

Entonces, usaremos el siguiente comando para trazar el gráfico:

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot()
Diagrama de caja | ggplot2 en R

Si queremos cambiar el color del límite del diagrama de caja, debemos usar la función scale_color_manual() con los valores hexadecimales de los colores de nuestra elección.

mtcars$cyl <- as.factor(mtcars$cyl) ggplot(mtcars, aes(x=(cyl), y=mpg,color = cyl)) + geom_boxplot() +scale_color_manual(values ​​= c("#3a0ca3", "#c9184a", "#3a5a40"))
Gráfica de caja geográfica | ggplot2 en R

Alternativamente, podemos usar la misma lógica para llenar el color en el diagrama de caja en lugar de simplemente cambiar el color del contorno:

ggplot2 en R

Trama de violín

Este gráfico se utiliza para representar gráficamente los datos numéricos, que es similar a una combinación de gráfico de caja y gráfico de densidad kernel. Puede mostrar los picos de datos y la distribución de los datos.

ggplot(mtcars, aes(factor(cyl), mpg))+ geom_violin(aes(fill = cil))
Trama de violín | ggplot2 en R

Gráfico circular

El gráfico circular muestra las proporciones como parte del todo en los datos.

ggplot(mtcars, aes(x="", y=mpg, fill=cyl)) + geom_bar(stat="identity", width=1) + coord_polar("y", start=0)
Gráfico de sectores

Gráfico polar

Este gráfico muestra el valor de la magnitud frente al ángulo de fase en coordenadas polares.

Puede polarizar la trama usando la función coord_polar().

mtcars %>% dplyr::group_by(cyl) %>% dplyr::summarize(mpg = mediana(mpg)) %>% ggplot(aes(x = cil, y = mpg)) + geom_col(aes(fill =cyl ), color = NA) + labs(x = "", y = "mediana de millas por galón") + coord_polar()
Gráfico polar

Gráfico de impacto

Un gráfico de impacto es un tipo de gráfico que muestra clasificaciones de distintos grupos a lo largo del tiempo en lugar de números absolutos. Esto es para enfatizar el orden de los grupos en lugar de la cantidad de cambio.

ggplot(mtcars, aes(x = hp, y = mpg, group = cil)) + geom_line(aes(color = cil), tamaño = 2) + geom_point(aes(color = cil), tamaño = 4) + scale_y_reverse( descansos = 1:nrow(mtcars))
Gráfico de impacto

Gráfico de pares con ggpairs

El GGally proporciona una función llamada ggpairs. Este comando ggplot2 es similar a la función básica de pares R. Se puede pasar un marco de datos que contenga variables continuas y categóricas.

biblioteca (GGally) ggpairs (mtcars)
Parcela | ggplot2 en R

De forma predeterminada, el panel superior muestra la correlación entre las variables continuas, mientras que el panel inferior muestra los diagramas de dispersión de las variables continuas. La diagonal muestra los diagramas de densidad de las variables continuas y los lados muestran histogramas y diagramas de caja para combinaciones de variables categóricas y continuas.

La opción de columnas se utiliza para definir las columnas del marco de datos que se trazarán. Puede utilizar un número o un vector de caracteres que contenga los nombres de las variables. Use aes para crear un mapeo atractivo. Esto le permitirá generar gráficos de densidad de color, gráficos de dispersión y otros gráficos según las agrupaciones.

biblioteca(GGally) ggpairs(mtcars,columns = 1:4,aes(color = cyl, alpha = 0.5))
ggplot2 en R

Dibujo de contorno

ggplot2 puede generar un gráfico de contorno de densidad 2D con geom_density_2d. Solo necesita proporcionar su marco de datos con los valores x e y dentro de aes.

ggplot(mtcars, aes(mpg, hp)) + geom_density_2d_filled(show.legend = FALSO) + coord_cartesian(expandir = FALSO) + labs(x = "mpg")
Gráfico de contorno | ggplot2 en R

Es importante tener en cuenta que puede hacer un diagrama de dispersión con líneas de contorno. Primero, agregue los puntos usando geom_point, y luego geom_density_2d.

ggplot(mtcars, aes(x = mpg, y = hp)) + geom_point() + geom_density_2d()
ggplot2 en R

Correlograma

Se puede usar un correlograma, o una matriz de correlación, para encontrar la relación entre cada par de variables numéricas en un conjunto de datos. Proporciona un resumen de alto nivel de todo el conjunto de datos. Se utiliza con fines exploratorios más que con fines explicativos.

biblioteca(ggcorrplot) data(mtcars) corr <- round(cor(mtcars), 1) ggcorrplot(corr, hc.order = TRUE, type = "inferior", lab = TRUE, lab_size = 3, method="circle", colores = c("tomate2", "blanco", "verdeprimavera3"), title="Correlograma de mtcars", ggtheme=theme_bw)
Correlograma | ggplot2 en R

Mapa de calor

En ggplot2, se puede construir un mapa de calor proporcionando las variables categóricas a los parámetros x e y y la variable continua al argumento de relleno de aes.

De manera similar a los mapas de contorno, geom_hex() se puede usar para mostrar los recuentos de puntos o las densidades que se agrupan en una cuadrícula hexagonal.

ggplot(iris, aes(Sepal.Length, Petal.Length)) + geom_hex(bins = 20, color = "grey") + scale_fill_distiller(palette = "Spectral", direction = 1)
Mapa de calor | ggplot2 en R

Si desea una cuadrícula regular, puede usar geom_bin2d(), que resume los datos en celdas de cuadrícula rectangulares basadas en contenedores:

ggplot(iris, aes(Sepal.Length, Petal.Length)) + geom_bin2d(bins = 15) + scale_fill_distiller(palette = "Espectral", dirección = 1)
Mapa de calor | ggplot2 en R

Parcela de cresta

La función geom_density_ridges del paquete ggridges le permite crear una visualización de crestas. La estimación de la densidad de datos se calcula y se muestra para cada grupo, dada una variable numérica (profundidad) y una variable categórica (color).

biblioteca(ggridges) ggplot(iris, aes(x = Sepal.Length,y= Especie)) + geom_density_ridges(fill = "gray90")
Parcela de cresta | ggplot2 en R

Puede rellenar cada cresta con un degradado proporcionando stat(x) al argumento de relleno de aes y usando geom_density_ridges_gradient y una escala de color de relleno continua.

ggplot(iris, aes(x = Sepal.Length,y= Species, fill = stat(x))) + geom_density_ridges_gradient() + scale_fill_viridis_c(name = "Profundidad", opción = "C")
ggplot2 en R

Tabla de gofres

Basado en ggplot2, el paquete waffle proporciona una función del mismo nombre que se puede usar para hacer gráficos waffle.

Pase un vector con el conteo de cada grupo a la función para generar un gráfico waffle simple. El número de filas de la parcela se puede agregar usando filas (el valor predeterminado es 10). Elija un valor basado en sus datos.

# install.packages("waffle", repos = "https://cinc.rud.is") biblioteca(waffle) x <- c(X1 = 20, X2 = 10, X3 = 10,X4 = 40) waffle( x, filas = 8)
Tabla de gofres

Tabla de cal

El geom_lime es un geom ggplot que dibuja limas en lugar de puntos.

# install.package('remotes') remotes::install_github("coolbutuseless/geomlime") biblioteca(geomlime) ggplot(mtcars, aes(mpg, wt)) +geom_lime(tamaño = 6)
Gráfico de cal | ggplot2 en R

Este es un gráfico divertido para la trama si escribe mal geom_lime en lugar de geom_line.

Personalización en ggplot2 en R

Podemos hacer mucho con ggplot2. Vamos a explorarlo en las siguientes secciones:

Títulos de trama

Puede agregar un título, un subtítulo, una leyenda y una etiqueta para su visualización cuando usa ggplot2. Hay dos métodos para agregar títulos: ggtitle y la función labs. El primero es solo para títulos y subtítulos, pero el segundo permite agregar etiquetas y subtítulos.

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot()+ ggtitle("hp vs mpg")

Para agregar el título, use la función de laboratorios.

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot() +labs(title = "hp vs mpg")
Personalización en ggplot2 en R

De manera similar, puede agregar un subtítulo de la misma manera que agregó el título, pero con el argumento del subtítulo usando la función ggtitle() o labs():

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot() + ggtitle("hp vs mpg",subtitle = "Subtítulo de la trama")
ggplot2 en R

La alineación horizontal o hjust se usa para controlar la alineación del título (es decir, izquierda, centro, derecha). De manera similar, para controlar la alineación vertical, se puede usar vjust.

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot()+ ggtitle("hp vs mpg") +theme(plot.title = element_text(hjust = 1, size = 16, cara = "negrita"))
CV frente a millas por galón | ggplot2 en R

Temas

Los temas en ggplot2 en R se pueden usar para modificar el fondo, los colores del texto y la leyenda, y el texto del eje.

El paquete ggplot2 en R incluye ocho temas preinstalados. El tema () es un comando para modificar manualmente todo tipo de componentes del tema, incluidos rectángulos, textos y líneas. Utiliza el tema denominado theme_gray de forma predeterminada, por lo que no es necesario que lo defina.

Los ocho temas preinstalados son:

  1. Theme_gray (predeterminado)
  2. Theme_bw: este tema utiliza un fondo blanco y líneas de cuadrícula finas de color gris, que es la variación de theme_gray().
  3. Dibujo de línea de tema: este tema tiene un fondo blanco que contiene líneas negras solo de diferentes anchos.
  4. Theme_light: este tema es muy similar a theme_linedraw() excepto por los ejes y las líneas de cuadrícula de color gris claro.
  5. Theme_dark: este tema es la versión más oscura de theme_light(), que tiene un fondo oscuro con tamaños de línea similares. Es útil hacer que aparezcan líneas finas de diferentes colores en el gráfico.
  6. Theme_minimal: este es un tema simple sin anotaciones de fondo.
  7. Theme_classic: este es un tema tradicional con líneas en los ejes x e y y no tiene líneas de cuadrícula.
  8. Theme_void: este tema es un tema vacío sin contenido.

En ggplot2, no está vinculado a los temas integrados. Otros temas incluyen el paquete ggthemes, el paquete hrbrthemes, el paquete ggthemr, el paquete ggtech y el paquete ggdark.

El paquete ggthemes de Jeffrey Arnold incluye temas de uso común. Algunos de ellos cubren escalas de color. Utilice las escalas en consecuencia en función de sus datos. Puede modificar el color de fondo del panel cambiando un element_rect en el panel. Seleccione un color diferente usando el siguiente comando:

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot() + theme(panel.background = element_rect(fill = "#72efdd"))
ggplot2 en R

El color y el ancho del borde en el panel se pueden controlar mediante el componente 'panel.border' con argumentos de color y tamaño. Sin embargo, para evitar ocultar los datos, debemos configurar el relleno = "transparente".

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot() + theme(panel.border = element_rect(fill = "transparent", color = "#72efdd",size = 4) )
ggplot2 en R

Podemos modificar el color de fondo del gráfico usando el componente de tema 'plot.background'. Simplemente establezca el Color de su elección en el argumento de relleno de un element_rect.

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot() +theme(plot.background = element_rect(fill = "#72efdd"))
Diagrama de caja | ggplot2 en R

Personalización de cuadrícula

De forma predeterminada, ggplot2 crea una cuadrícula blanca mayor y menor. Para personalizar la apariencia de la cuadrícula, necesitamos usar el componente de función de tema 'panel.grid'. Con los argumentos de la función element_line, puede cambiar el color, el ancho de línea y el tipo de línea.

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot() + theme(panel.grid = element_line(color = "#3a0ca3",size = 1,linetype = 3))

Usando element_blank en lugar de element_line, podemos eliminar las líneas de la cuadrícula.

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot()+ tema(panel.grid = element_blank())

Márgenes

Usando la configuración de la función de margen en el componente de función de tema 'plot.margin', podemos modificar los márgenes de la trama. Las etiquetas t,r,b,l dentro del objeto margin() se refieren a arriba, derecha, abajo, izquierda, respectivamente. Los cuatro márgenes son margin(t, r, b, l).

ggplot(mtcars, aes(x=as.factor(cyl), y=mpg)) + geom_boxplot() + tema(plot.antecedentes = element_rect(color = 1,tamaño = 1), plot.margin = margen(t = 20,r = 50,b = 40,l = 30))

Leyendas

Pasando una variable categórica (o numérica) a color, relleno, forma o alfa dentro de aes, podemos agregar una leyenda a nuestro gráfico. La salida cambiará según el parámetro que elija para pasar los datos.

Puede eliminar la leyenda con el siguiente comando:

tema (leyenda.posición = "ninguno")

Para colocar la leyenda en una ubicación diferente a la ubicación predeterminada a la derecha, debe usar el argumento 'legend.position' en el tema. Las ubicaciones disponibles son "superior", "derecha" (predeterminada), "inferior" e "izquierda".

Creando un panel de diferentes parcelas

Las parcelas se pueden unir de varias maneras. El paquete patchwork de Thomas Lin Pedersen es el enfoque más simple:

p1 <- ggplot(mtcars, aes(x = hp, y = mpg,color = gear)) + geom_line(color = "#3a0ca3")+geom_point() p2 <- ggplot(mtcars, aes(x = carb, y = mpg,color = engranaje)) + geom_line(color = "#c9184a") +geom_point() biblioteca(mosaico) p1 + p2

Puede crear subparcelas usando gridExtra. Tienes que instalar el paquete, si no está instalado, para hacer el diseño:

biblioteca (gridExtra)
primero <- ggplot(mtcars, aes(x=qsec, fill=cyl)) + geom_histogram(binwidth = 0.1) segundo <- ggplot(mtcars, aes(x=wt, fill=cyl)) + geom_histogram(binwidth = 0.1) tercero <- ggplot(mtcars, aes(x=gear, fill=cyl)) + geom_histogram(binwidth = 0.1) cuarto <- ggplot(mtcars, aes(x=carb, fill=cyl)) + geom_histogram(binwidth = 0.1) grid.arrange(primero, segundo, tercero, cuarto, nfila = 2)

Facetas

La creación de facetas se utiliza para trazar gráficos para diferentes categorías de una variable específica. Tratemos de entenderlo con un ejemplo:

único (mtcars $ carbohidratos)

Podemos ver que “carbohidratos” se divide en seis grupos. Faceting genera seis gráficos entre mpg y hp, con los puntos que representan las categorías.

ggplot(mtcars, aes(hp,mpg)) + geom_point()+facet_wrap(~carb)

La función de ajuste de facetas se utiliza para las facetas, donde las variables que se clasificarán se definen después del símbolo de tilde (~).

El facetado se puede hacer usando la función facet_grid, que se puede usar para enfrentar en dos dimensiones.

ggplot(mtcars, aes(hp,mpg)) + geom_point()+ facet_grid(. ~ cyl)+ facet_grid(cyl ~ .) + facet_grid(gear ~ cyl,labeler = "label_both")

notas finales

Aunque hay varias bibliotecas en R como ggvis y htmlwidgets, que permiten gráficos interactivos, el paquete ggplot2 en R sigue siendo uno de los paquetes más utilizados en R para la visualización de datos estáticos. El paquete plotly se puede usar para hacer que el gráfico ggplot2 sea interactivo.

En esta guía, vimos varios tipos diferentes de gráficos usando la biblioteca ggplot2 y cómo personalizar estos gráficos fácilmente en R. El código de esta guía está disponible en mi Repositorio GitHub. No dude en probar estas visualizaciones en otro conjunto de datos.

Espero que les haya gustado mi artículo sobre ggplot2 en R. Comparta conmigo en los comentarios a continuación.

Lea los últimos artículos en nuestro blog.

Biografía del autor

Devashree tiene una maestría en tecnología de la información de Alemania y experiencia en ciencia de datos. Le gusta trabajar con estadísticas y descubrir información oculta en conjuntos de datos variados para crear paneles impresionantes. Le gusta compartir su conocimiento en IA escribiendo artículos técnicos en varias plataformas tecnológicas.
Le encanta viajar, leer ficción, resolver sudokus y participar en concursos de programación en su tiempo libre.

Puedes seguirla en Etiqueta LinkedIn, GitHub, Kaggle, Mediana, Twitter.

Los medios que se muestran en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor. 

punto_img

Información más reciente

punto_img