¿Cómo reordenar diagramas de barras con facetas con ggplot2 en R?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *