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