20/02/2017
En el análisis de datos con R, la correcta visualización es fundamental. Una escala inapropiada en una gráfica puede distorsionar la interpretación de los datos, llevando a conclusiones erróneas. Por ello, dominar el cambio de escala es una habilidad esencial para cualquier usuario de R. Este artículo te guiará a través de diferentes métodos para ajustar la escala de tus gráficos, desde los más básicos hasta los más avanzados, abordando las funciones más comunes y presentando ejemplos prácticos.

Las Funciones Clave para Ajustar la Escala
R ofrece una gran variedad de funciones para controlar la escala de tus gráficos. La elección de la función adecuada dependerá del tipo de gráfico que estés creando y del efecto que desees lograr. A continuación, se presentan algunas de las funciones más importantes:
- xlim() y ylim(): Estas funciones son las más básicas y se utilizan para especificar los límites del eje x y el eje y respectivamente. Son ideales para controlar el rango de valores que se muestran en el gráfico.
- coord_cartesian() (ggplot2): Si utilizas la librería ggplot2, esta función te permite ajustar los límites de los ejes de forma más flexible, incluso manteniendo la relación de aspecto original.
- scale_x_continuous() y scale_y_continuous() (ggplot2): Estas funciones de ggplot2 ofrecen un control más preciso sobre la escala, permitiendo modificar la visualización numérica, por ejemplo, con formato de notación científica o con etiquetas personalizadas.
- scale_x_log10() y scale_y_log10() (ggplot2): Para datos con una gran variabilidad en sus valores, usar una escala logarítmica puede ser muy útil. Estas funciones transforman la escala a logaritmo base 10, facilitando la visualización de datos con rangos amplios.
- breaks y labels: En muchas funciones de escalado, como
scale_x_continuous()
, puedes especificar los valores exactos donde se mostrarán las marcas (breaks
) y las etiquetas correspondientes (labels
) en los ejes. Esto permite un control fino sobre la apariencia de la escala.
Ejemplos Prácticos: Cambiando la Escala
Ejemplo 1: Usando xlim()e ylim()
Este ejemplo utiliza las funciones básicas plot()
, xlim()
e ylim()
para crear un gráfico simple y ajustar su escala:
# Datos de ejemplox <- c(1, 2, 3, 4, 5)y <- c(2, 4, 1, 5, 3)# Gráfico sin ajustar la escalaplot(x, y)# Gráfico con escala ajustadaplot(x, y, xlim = c(0, 6), ylim = c(0, 6))
En este código, primero creamos un gráfico sin ajustar la escala. Luego, creamos otro gráfico usando xlim
e ylim
para establecer los límites del eje x entre 0 y 6 y los límites del eje y también entre 0 y Esto resulta en un gráfico con una escala modificada.
Ejemplo 2: Usando coord_cartesian()en ggplot2
Este ejemplo muestra cómo usar coord_cartesian()
para ajustar la escala en un gráfico creado con ggplot2:
# Librería ggplot2library(ggplot2)# Datos de ejemplodf <- data.frame(x = c(1, 2, 3, 4, 5), y = c(2, 4, 1, 5, 3))# Gráfico con ggplot2p <- ggplot(df, aes(x = x, y = y)) + geom_line()# Gráfico con escala ajustada usando coord_cartesian()p + coord_cartesian(xlim = c(0, 6), ylim = c(0, 6))
Primero, cargamos la librería ggplot2 y creamos un gráfico simple de líneas. Luego, usamos coord_cartesian()
para ajustar la escala de forma similar al ejemplo anterior.
Ejemplo 3: Escala Logarítmica con ggplot2
Para datos con un rango amplio de valores, una escala logarítmica puede mejorar la legibilidad. Aquí se muestra cómo usar scale_y_log10()
:
# Datos con amplio rangox <- 1:10y <- c(1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000)# Gráfico con escala lineal (poco legible)ggplot(data.frame(x,y), aes(x,y)) + geom_line()# Gráfico con escala logarítmica en yggplot(data.frame(x,y), aes(x,y)) + geom_line() + scale_y_log10()
Se observa la diferencia entre un gráfico con escala lineal y otro con escala logarítmica en el eje y. La escala logarítmica hace que los datos sean más fáciles de interpretar cuando hay una gran variación en los valores.
Tabla Comparativa de Funciones
Función | Librería | Descripción | Uso |
---|---|---|---|
xlim() | Base R | Ajusta los límites del eje x. | plot(x, y, xlim = c(min, max)) |
ylim() | Base R | Ajusta los límites del eje y. | plot(x, y, ylim = c(min, max)) |
coord_cartesian() | ggplot2 | Ajusta los límites de los ejes con mayor flexibilidad. | ggplot(...) + coord_cartesian(xlim = c(min, max), ylim = c(min, max)) |
scale_x_continuous() | ggplot2 | Control preciso sobre la escala del eje x. | ggplot(...) + scale_x_continuous(breaks = ..., labels = ...) |
scale_y_continuous() | ggplot2 | Control preciso sobre la escala del eje y. | ggplot(...) + scale_y_continuous(breaks = ..., labels = ...) |
scale_x_log10() | ggplot2 | Escala logarítmica base 10 para el eje x. | ggplot(...) + scale_x_log10() |
scale_y_log10() | ggplot2 | Escala logarítmica base 10 para el eje y. | ggplot(...) + scale_y_log10() |
Consultas Habituales y Soluciones
¿Cómo cambio la escala a logarítmica en un gráfico de dispersión? Utiliza scale_x_log10()
o scale_y_log10()
(o ambas) con ggplot2, dependiendo del eje que quieras transformar.
¿Cómo personalizo las etiquetas de los ejes? Usa el argumento labels
dentro de las funciones scale_x_continuous()
y scale_y_continuous()
. Puedes proporcionar un vector de etiquetas personalizadas o usar una función para formatear los valores.
¿Cómo ajusto la relación de aspecto de mi gráfico? Con ggplot2, puedes usar coord_fixed()
para establecer una relación de aspecto específica, o theme(aspect.ratio = ...)
para un control más fino.
¿Puedo cambiar la escala después de haber creado el gráfico? Depende del método que hayas usado para crear el gráfico. Si usaste las funciones base de R, generalmente necesitarás recrear el gráfico con la nueva escala. Con ggplot2, puedes añadir capas como coord_cartesian()
o funciones de escalado para modificar la escala de un gráfico ya existente.
¿Qué pasa si mis datos tienen valores negativos y quiero una escala logarítmica? Una escala logarítmica requiere valores positivos. En este caso, deberías considerar una transformación de tus datos antes de aplicar la escala logarítmica, o usar una escala diferente más adecuada para tus datos.
Dominar el cambio de escala en tus gráficos de R es esencial para una correcta visualización e interpretación de datos. Este artículo ha presentado las funciones más importantes y ejemplos prácticos para ayudarte a ajustar la escala según tus necesidades. Recuerda que la elección de la escala correcta dependerá del tipo de datos y del mensaje que quieras comunicar con tu gráfico. Experimenta con diferentes opciones para encontrar la mejor visualización para tus datos.