HOWTO · R
Rotar etiquetas de eje en R
Este tutorial demuestra cómo rotar las etiquetas de los ejes en un gráfico en R.
En esta página
Base R y ggplot2 tienen diferentes formas de rotar las etiquetas de los ejes en R. Este tutorial demuestra cómo rotar las etiquetas de los ejes en R.
Rotar etiquetas de marca en Base R
En la base R, podemos rotar la etiqueta del eje horizontal, vertical o perpendicularmente al eje. Primero mostremos la gráfica para la cual rotaremos las etiquetas, y después de eso, cada método se demuestra a continuación.
El parámetro las controla la orientación de las etiquetas de marca y tiene cuatro valores:
las = 0: etiquetas paralelas al eje (predeterminado).las = 1: etiquetas horizontales.las = 2: etiquetas perpendiculares al eje.las = 3: etiquetas verticales.
Código de ejemplo:
# Create example data
set.seed(99999)
xLabel <- rnorm(1000)
yLabel <- rnorm(1000)
# The Default Plot
plot(xLabel, yLabel)
Producción:
Etiquetas horizontales:
Podemos rotar la etiqueta del eje horizontalmente pasando las=1 en el gráfico.
Código de ejemplo:
# Create example Data
set.seed(99999)
xLabel <- rnorm(1000)
yLabel <- rnorm(1000)
# The Horizontal Axis Plot
plot(xLabel, yLabel, las=1)
El código anterior crea un gráfico con etiquetas de eje horizontal.
Producción:
Etiquetas verticales:
Podemos rotar la etiqueta del eje verticalmente pasando las=3 en el gráfico.
Código de ejemplo:
# Create example Data
set.seed(99999)
xLabel <- rnorm(1000)
yLabel <- rnorm(1000)
# The Vertical Axis Plot
plot(xLabel, yLabel, las=3)
El código anterior crea un gráfico con etiquetas de eje vertical.
Producción:
Etiquetas perpendiculares:
Podemos rotar la etiqueta del eje perpendicularmente al eje pasando las=2 en el gráfico.
Código de ejemplo:
# Create example Data
set.seed(99999)
xLabel <- rnorm(1000)
yLabel <- rnorm(1000)
# The Perpendicular Axis Plot
plot(xLabel, yLabel, las=2)
El código anterior crea una gráfica perpendicular a las etiquetas de los ejes.
Producción:
El valor las se puede cambiar en cualquier tipo de gráfico en Base R. Estos valores afectan a las etiquetas de las marcas, no al título del eje. Para establecer un título, use un argumento independiente como xlab = "Horizontal value" o ylab = "Vertical value":
plot(xLabel, yLabel, las = 3,
xlab = "Horizontal value", ylab = "Vertical value")
El parámetro las se limita a estas cuatro orientaciones documentadas. Si necesita un ángulo arbitrario, use un método personalizado para dibujar texto o el enfoque de ggplot2 siguiente; axis() con las no proporciona ángulos arbitrarios.
Rotar etiquetas de marca en ggplot2
Usando la siguiente sintaxis, podemos rotar las etiquetas de marca en ggplot2. Use axis.text.x para el eje x y axis.text.y para el eje y; element_text() establece angle, hjust y vjust.
plot + theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Las etiquetas girarán en un ángulo de 45 grados, y vjust y hjust controlarán la justificación vertical y horizontal del texto de la etiqueta. Vamos a crear un gráfico para el que podamos rotar la etiqueta del eje en ggplot2.
Código de ejemplo:
# Create example Data
Delftstack <- data.frame(Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'),
Id=c(101, 102, 103, 104, 105))
library(ggplot2)
ggplot(Delftstack, aes(x = Designation, y = Id)) +
geom_col()
El código anterior creará un gráfico predeterminado a partir de los datos proporcionados.
Producción:
Rotar etiquetas de marca a 90 grados en ggplot2
Podemos dar el valor 90 al ángulo para rotar las etiquetas de los ejes a 90 grados en ggplot2.
Código de ejemplo:
# Create example Data
Delftstack <- data.frame(Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'),
Id=c(101, 102, 103, 104, 105))
ggplot(Delftstack, aes(x = Designation, y = Id)) +
geom_col() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
El código anterior crea un gráfico de ggplot2 con etiquetas de marca del eje x giradas 90 grados.
Producción:
Rotar las etiquetas de marca a 45 grados en ggplot2
Podemos dar el valor 45 al ángulo para rotar las etiquetas de los ejes a 45 grados en ggplot2.
Código de ejemplo:
# Create example Data
Delftstack <- data.frame(Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'),
Id=c(101, 102, 103, 104, 105))
ggplot(Delftstack, aes(x = Designation, y = Id)) +
geom_col() +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
El código anterior crea un gráfico de ggplot2 con etiquetas de marca del eje x giradas 45 grados.
Producción:
Para rotar las etiquetas de marca del eje y, cambie el destino del tema a axis.text.y. Para rotar un título del eje, use axis.title.x o axis.title.y, por ejemplo, theme(axis.title.x = element_text(angle = 15)). Esto afecta al título, no al texto de las etiquetas de marca.
Elegir un ángulo y una alineación
Comience con 90 grados cuando los nombres de las categorías sean largos o se superpongan. Pruebe 45 grados cuando las etiquetas quepan en diagonal y ajuste hjust y vjust si el texto parece demasiado alejado del eje. Los valores adecuados dependen del tamaño del gráfico, la fuente y el dispositivo gráfico; revise el resultado en su tamaño previsto. La rotación cambia la orientación del texto, pero no crea automáticamente más espacio en un área de trazado reducida. Los ejemplos de Base R solo usan el paquete estándar graphics; los ejemplos de ggplot2 requieren el paquete ggplot2 y un dispositivo para representar el gráfico. Si un paquete no está disponible, instálelo según las normas del entorno del proyecto en lugar de cambiar el ejemplo a otro sistema de gráficos.