Transforme ggplot2 Plot Axis para registrar la escala en R

En este artículo, discutiremos cómo transformar el eje de trazado ggplot2 a escala logarítmica en el lenguaje de programación R. 

Método 1: Usar la función scale_x_continuous() con argumento trans

Podemos convertir los datos del eje en la escala logarítmica deseada usando la función scale_x_continous(). Pasamos la escala logarítmica deseada como argumento trans y los datos se transforman de acuerdo con esa escala logarítmica en el gráfico ggplot2.

Sintaxis:

plot + scale_x_continous( trans ) / scale_y_continous( trans ) 

Parámetro:

  • trans: determina el tipo de transformación por la que pasará el eje dado.

Nota: Con este método, solo los gráficos de datos se convierten a la escala logarítmica. Las marcas de verificación y la etiqueta del eje siguen siendo las mismas.

Ejemplo:

Aquí hay un diagrama de dispersión básico convertido en el eje x de escala log10 usando la función scale_x_continuous con argumento trans como log10.

R

#load library ggplot2
library("ggplot2")
  
# set seed
set.seed(50000) 
  
# create sample data using rnorm function
sample_data <- data.frame(x_axis_values = rnorm(1000, 700, 105),
                   y_axis_values = rnorm(1000, 45, 200))
  
# draw scatter plot using ggplot() 
#and geom_point() function
plot<- ggplot(sample_data, aes(x_axis_values, y_axis_values)) +
                  geom_point()
  
# scale_x_continuous 
#with trans argument transforms axis data to log scale
plot<- plot + scale_x_continuous(trans = "log10")
  
# show plot
plot

Producción:

Método 2: Usar la función de registro en la función aes() de ggplot():

En este método, pasamos directamente el valor del parámetro en la función aes() de la función ggplot() como log. Este es el mejor método, ya que actualiza el punto de datos, así como las marcas de los ejes y las etiquetas de los ejes, todo de una sola vez.

Sintaxis:

ggplot( df, aes( log(x), y)

Parámetro :

  • log: determina cualquier función de registro deseada para la transformación

Ejemplo:

Aquí hay un diagrama de dispersión básico convertido en el eje x de escala log10 usando la función log10() en la función aes de la función ggplot().

R

# set seed
set.seed(50000) 
  
# create sample data using rnorm function
sample_data <- data.frame(x_axis_values = rnorm(1000, 700, 105),
                   y_axis_values = rnorm(1000, 45, 200))
  
#load library ggplot2
library("ggplot2")
  
# draw scatter plot using ggplot() and geom_point() function
# In aes instead of x_axis_values log10(x_axis_values is used
# this transforms the x-axis scale to log scale
plot<- ggplot(sample_data, aes(log10(x_axis_values), y_axis_values)) +
                  geom_point()
  
# show plot
plot

Producción:

Método 3: Usando scale_x_log10() / scale_y_log10()

Podemos convertir los datos del eje en la escala logarítmica deseada usando la función scale_x_log10() / scale_y_log10(). usamos la función de eje deseada para obtener el resultado requerido.

Sintaxis:

plot + scale_x_log10() / scale_y_log10()

Nota: Con este método, solo los gráficos de datos se convierten a la escala logarítmica. Las marcas de verificación y la etiqueta del eje siguen siendo las mismas.

Ejemplo:

Aquí hay un diagrama de dispersión básico convertido en el eje x de escala log10 usando la función scale_x_log10().

R

# set seed
set.seed(50000) 
  
# create sample data using rnorm function
sample_data <- data.frame(x_axis_values = rnorm(1000, 700, 105),
                   y_axis_values = rnorm(1000, 45, 200))
  
#load library ggplot2
library("ggplot2")
  
# draw scatter plot using ggplot() and geom_point() function
# scale_x_log10() function converts the x-axis values to
# log10 scale
plot<- ggplot(sample_data, aes(x_axis_values, y_axis_values)) +
                  geom_point() + scale_x_log10()
  
# show plot
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 *