En este artículo, discutiremos cómo reordenar gráficos de barras con facetas usando el paquete ggplot2 en el lenguaje de programación R. Podemos dibujar un diagrama de barra de facetas usando la función geom_col() con la función facet_wrap() del paquete ggplot2.
Sintaxis: ggplot(marco de datos, aes(x, y)) + geom_col() + facet_wrap(~z)
Parámetros:
- marco de datos: determina el marco de datos que se utilizará para el trazado.
- x: determina la columna del vector del eje x.
- y: determina la columna del vector del eje y.
- z: Determina la variable en torno a la cual se deben dividir las parcelas.
Creación de un gráfico de barras básico
Aquí hay un gráfico de barras básico con facetas usando la función facet_wrap().
Conjunto de datos utilizado: muestra2
R
# Load library tidyverse library(tidyverse) # create sample data frame sample_data <- readr::read_csv('sample2.csv') # draw a bar plot using geom_col() function # divide the plot into facts using facet_wrap() function ggplot(sample_data, aes(y=state, x=Survey))+ geom_col()+ facet_wrap(~Year)
Producción:
Reordenar gráfico de barras
Para reordenar el gráfico de barras para una mejor visualización de los datos, usamos la función reorder_within() del paquete tidytext del lenguaje R. La función reorder_within() reordena una columna antes de trazar con facetas, de modo que los valores se ordenen dentro de cada faceta. Pero esto crea el problema de que, después de facetar, todas las columnas que se dividieron en otras facetas también coexisten como una columna vacía para todas las demás facetas. Para contrarrestar eso, agregamos el parámetro scales a la función facet_wrap() con su valor como free_y o free_x dependiendo de los datos del eje que se necesiten liberar.
Sintaxis: ggplot( dataframe, aes( reorder_within(x,y,z) , y ) ) + geom_col() + facet_wrap(~z, scales= “free_y/free_x”)
Parámetros:
- marco de datos: determina el marco de datos que se utilizará para trazar
- x: determina la columna del vector del eje x.
- y: determina la columna del vector del eje y.
- z: Determina la variable en torno a la cual se deben dividir las parcelas.
Ejemplo:
Aquí hay un gráfico de barras básico con facetas usando la función facet_wrap(). También hemos reordenado el diagrama de barras usando la función reorder_within() del paquete tidytext.
R
# load library tidyverse and tidytext library(tidyverse) library(tidytext) # create sample data frame sample_data <- readr::read_csv('sample2.csv') # create bar plot with reodering of y-axis variable # use scales parameter to remove empty variable from y-axis ggplot(sample_data, aes(y=reorder_within(state,Survey, Year), x=Survey))+ geom_col()+ facet_wrap(~Year,scales="free_y")
Producción:
Publicación traducida automáticamente
Artículo escrito por mishrapriyank17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA