¿Cómo evitar etiquetas superpuestas en ggplot2 en R?

En este artículo, vamos a ver cómo evitar la superposición de etiquetas en ggplot2 en lenguaje de programación R.

Para evitar la superposición de etiquetas en ggplot2, usamos guide_axis() dentro de scale_x_discrete().

Sintaxis: plot+scale_x_discrete(guide = guide_axis(<tipo>))

En lugar de podemos usar las siguientes propiedades:

  • n.dodge: hace que las etiquetas superpuestas se desplacen un paso hacia abajo.
  • check.overlap: esto elimina las etiquetas superpuestas y muestra solo aquellas que no se superponen

Creación del gráfico de barras básico con etiquetas superpuestas

R

# Create sample data
set.seed(5642)                            
sample_data <- data.frame(name = c("Geeksforgeeks1",
                                   "Geeksforgeeks2",
                                   "Geeksforgeeks3",
                                   "Geeksforgeeks4",
                                   "Geeeksforgeeks5") ,
                          value = c(31,12,15,28,45))
# Load ggplot2 package
library("ggplot2")
 
# Create bar plot
plot<-ggplot(sample_data, aes(name,value, fill=name)) +
geom_bar(stat = "identity")
plot

Producción:

Evite la superposición de etiquetas

Para evitar la superposición al desplazar las etiquetas hacia abajo, usamos el parámetro n.dodge de la función guide_axis():

R

# Create sample data
set.seed(5642)                            
sample_data <- data.frame(name = c("Geeksforgeeks1",
                                   "Geeksforgeeks2",
                                   "Geeksforgeeks3",
                                   "Geeksforgeeks4",
                                   "Geeeksforgeeks5") ,
                          value = c(31,12,15,28,45))
# Load ggplot2 package
library("ggplot2")
 
# Create bar plot without overlapping labels
plot<-ggplot(sample_data, aes(name,value, fill=name)) +
geom_bar(stat = "identity") +
scale_x_discrete(guide = guide_axis(n.dodge=2))
plot

Producción:

Eliminar superposición

Para eliminar etiquetas superpuestas, usamos el parámetro check.overlap de la función guide_axis():

R

# Create sample data
set.seed(5642)                            
sample_data <- data.frame(name = c("Geeksforgeeks1",
                                   "Geeksforgeeks2",
                                   "Geeksforgeeks3",
                                   "Geeksforgeeks4",
                                   "Geeeksforgeeks5") ,
                          value = c(31,12,15,28,45))
# Load ggplot2 package
library("ggplot2")
 
# Create bar plot without overlapping labels
plot<-ggplot(sample_data, aes(name,value, fill=name)) +
geom_bar(stat = "identity") +
scale_x_discrete(guide = guide_axis(check.overlap = TRUE))
plot

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 *