geom_hex
Dado un data frame con variables numéricas puedes crear un gráfico hexbin en ggplot2 haciendo uso de geom_hex
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex()
Pocas clases
Puedes controlar el número de clases en ambas direcciones con el argumento bins
. El valor por defecto es 30.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex(bins = 15)
Muchas clases
Ten en cuenta que si estableces demasiadas clases el gráfico hexbin tendrá el aspecto de un gráfico de dispersión.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex(bins = 60)
Color del borde
El color del borde de los hexágonos se puede personalizar con el argumento color
de la función geom_hex
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex(color = "white")
Color de fondo y transparencia
También puedes establecer un color para el fondo de los hexágonos con fill
y controlar su grado de transparencia con alpha
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex(color = 1, fill = 4, alpha = 0.4)
Paleta de colores
Si quieres tener una paleta de colores degradada que represente los valores puedes cambiar los colores por defecto con scale_fill_viridis_c
, scale_fill_gradient
o una función similar.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex() +
scale_fill_viridis_c()
Ancho y alto
Cuando creas un gráfico hexbin aparecerá una barra de color a modo de leyenda de manera automática. Puedes controlar el ancho y la altura de la barra con los argumentos barwidth
y barheight
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex() +
guides(fill = guide_colourbar(barwidth = 0.7,
barheight = 15))
Cambiar el título
El título por defecto de la leyenda es “count”. Puedes cambiar con el argumento title
de la función guide_colourbar
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex() +
guides(fill = guide_colourbar(title = "Conteo"))
Eliminar las etiquetas y las marcas
Ten en cuenta que puedes eliminar las marcas (ticks) y/o las etiquetas estableciendo los argumentos label
y ticks
como FALSE
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex() +
guides(fill = guide_colourbar(label = FALSE,
ticks = FALSE))
Eliminar la leyenda
Por último, si quieres deshacerte de la leyenda puedes establecer su posición como "none"
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(1)
df <- data.frame(x = rnorm(2000), y = rnorm(2000))
ggplot(df, aes(x = x, y = y)) +
geom_hex() +
theme(legend.position = "none")
También te puede interesar