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