El siguiente data frame contiene dos variables numéricas y una variable categórica que representa grupos. Este data frame será usado en los siguientes ejemplos.
set.seed(1)
# Simulación de datos
x <- runif(500)
y <- 5 * x ^ 2 + rnorm(length(x), sd = 2)
grupo <- ifelse(x < 0.4, "A",
ifelse(x > 0.8, "C", "B"))
x <- x + runif(length(x), -0.2, 0.2)
# Data frame
df <- data.frame(x = x, y = y, grupo = grupo)
geom_point
Para crear un gráfico de dispersión con colores por grupo en ggplot2 tan solo necesitas especificar tus variables numéricas y pasar la variable categórica al argumento color
(o colour
) de la función aes
.
# install.packages("ggplot2")
library(ggplot2)
# Gráfico de dispersión por grupo
ggplot(df, aes(x = x, y = y, color = grupo)) +
geom_point()
Cambiar los colores
La paleta de colores por defecto se puede personalizar de varias maneras. Puedes usar la función scale_color_manual
y pasar un vector de colores al argumento values
o elegir una paleta de colores predefininda, como scale_color_viridis_d
.
# install.packages("ggplot2")
library(ggplot2)
# Vector de colores
cols <- c("#1170AA", "#55AD89", "#EF6F6A")
ggplot(df, aes(x = x, y = y, color = grupo)) +
geom_point() +
scale_color_manual(values = cols)
Cambiar la forma y el tamaño
La forma por defecto de las observaciones son círculos, pero puedes elegir cualquier símbolo con el argumento shape
. El tamaño de los símbolos se puede personalizar haciendo uso del argumento size
.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = y, color = grupo)) +
geom_point(shape = 17, size = 2)
Forma por grupo
Si quieres que cada grupo tenga un símbolo diferente pasa la variable categórica al argumento shape
de la función aes
. Ten en cuenta que puedes especificar este argumento sin tener que especificar color
.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = y, color = grupo,
shape = grupo)) +
geom_point(size = 2)
Título de la leyenda
Cuando creas un gráfico de dispersión se crea una leyenda de manera automática basada en la variable categórica. El título por defecto de la leyenda es el nombre de la variable, pero puedes sobrescribirlo con el siguiente código.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = y, color = grupo)) +
geom_point(size = 2) +
guides(colour = guide_legend(title = "Título"))
Etiquetas
Las etiquetas también se pueden personalizar. Puedes hacer uso del argumento labels
de la función scale_color_discrete
para cambiarlas.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = y, color = grupo)) +
geom_point(size = 2) +
scale_color_discrete(labels = c("G1", "G2", "G3"))
Eliminar la leyenda
En caso de que quieras deshacerte de la leyenda establece legend.position = "none"
dentro de la función theme
.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = y, color = grupo)) +
geom_point(size = 2) +
theme(legend.position = "none")
También te puede interesar