Cómo cambiar los valores de los ejes X e Y de reales a enteros en ggplot2 en R

En este artículo, discutiremos cómo cambiar los valores de los ejes X e Y de reales a enteros usando ggplot2 en el lenguaje de programación R. Primero creemos una gráfica que contenga valores reales en los ejes y luego cámbielos a números enteros para que la diferencia sea evidente.

Ejemplo: Parcela inicial

R

library(dplyr)
library(ggplot2)
  
# dummy dataset
set.seed(10)
df <- data.frame(X = rnorm(15,mean=1.199, sd=0.7622377), 
                 Y =(rnorm(15,mean=3.057, sd= 0.4358663)))
  
df %>% 
  ggplot(aes(x = X, y = Y)) +
  geom_point()

Producción:

Como puede ver en el código anterior, los valores de los ejes X e Y son reales. Ahora veamos varios métodos mediante los cuales estos pueden cambiarse a valores enteros.

Método 1: cambiar los valores del eje X a entero

Para cambiar los valores reales del eje a enteros, podemos usar las funciones scale_x_continuous() o scale_y_continuous() para fijar el eje x y el eje y respectivamente. Al pasar valores de intervalo apropiados para romper el argumento, se puede hacer el trabajo.

Sintaxis: scale_x_continuous(breaks =c(b1,b2,b3….bn))

Parámetros :

pausas: esto especifica en qué intervalos se debe mostrar el valor

b1,b2,b3…bn: estos valores especifican cada intervalo 

Ejemplo: cambio de valores reales en el eje x a enteros

R

library(dplyr)
library(ggplot2)
  
set.seed(10)
df <- data.frame(X = rnorm(15,mean=1.199, sd=0.7622377), 
                 Y =(rnorm(15,mean=3.057, sd= 0.4358663)))
  
df %>% 
  ggplot(aes(x = X, y = Y)) +
  geom_point()+
  scale_x_continuous(breaks =c(0,1,2))

Producción:

De manera similar, ambos valores se pueden cambiar si ambas funciones se llaman juntas. 

Sintaxis: 

scale_y_continuous(rompe =c(b1,b2,b3,…bn))+ scale_x_continuous(rompe =c(b1,b2,b3,…bn))

Ejemplo: cambio de valores para ambos ejes

R

library(dplyr)
library(ggplot2)
  
set.seed(10)
df <- data.frame(X = rnorm(15,mean=1.199, sd=0.7622377), 
                 Y =(rnorm(15,mean=3.057, sd= 0.4358663)))
  
df %>% 
  ggplot(aes(x = X, y = Y)) +
  geom_point()+
  scale_x_continuous(breaks =c(0,1,2))+
  scale_y_continuous(breaks =c(3))

Producción:

Método 2: usar una función personalizada

Aquí escribiremos una función personalizada que lleva a cabo la tarea de convertir valores reales a enteros. En los enfoques anteriores, tenemos que proporcionar manualmente los intervalos; sin embargo, en este enfoque, nuestra función determina automáticamente los intervalos. Esta función usa internamente la función pretty() que produce intervalos redondeados.

Sintaxis:  

function(e, num) bonito(e, num)[redondo(bonito(e, num),1) %% 1 == 0]

Ejemplo: función personalizada para cambiar los valores de los ejes

R

library(dplyr)
library(ggplot2)
  
set.seed(10)
df <- data.frame(X = rnorm(15,mean=1.199, sd=0.7622377), 
                 Y =(rnorm(15,mean=3.057, sd= 0.4358663)))
  
custom_breaks <- function(e, num = 5)  pretty(e, num)
[round(pretty(e, num),1) %% 1 == 0]
  
df %>% 
  ggplot(aes(x = X, y = Y)) +
  geom_point()+
  scale_x_continuous(breaks = custom_breaks)+
  scale_y_continuous(breaks = custom_breaks)

Producción:

Publicación traducida automáticamente

Artículo escrito por sudhanshublaze 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 *