ggplot2
Por si no los tienen:
ggplot2
The Grammar of Graphics
Wilkinson (1999, 2005)
A Layered Grammar of Graphics
Hadley Wickham (2007)
Una gramática puede ayudar a construir oraciones diferentes con una pequeña cantidad de verbos, sustantivos y adjetivos, en lugar de memorizar cada oración específica. Una pequeña cantidad de los componentes básicos de ggplot2 y de su gramática puede crear cientos de gráficos diferentes.
Introducción a la ciencia de datos
Rafael A. Irizarry (2020)
Compilada por Cédric Scherer
ggplot()
crea el gráfico
aes()
determina los vínculos entre las variables y las propiedades del gráfico
geom_*
define la capa con la representación visual de los datos
largo | peso | edad |
---|---|---|
9 | 20 | adulto |
8 | 13 | juvenil |
7 | 15 | juvenil |
13 | 18 | adulto |
11 | 21 | adulto |
6 | 14 | juvenil |
x | y | figura |
---|---|---|
9 | 20 | círculo |
8 | 13 | triángulo |
7 | 15 | triángulo |
13 | 18 | círculo |
11 | 21 | círculo |
6 | 14 | triángulo |
ranas.csv
01_armar-plots.R
Datos sobre tamaño corporal, frecuencia dominante, y hábitat de 176 especies de ranas, tomados de Muñoz et al. (2020)
labs
fill
color
size
themes
scale_fill_*
scale_shape_*
scale_color_*
rótulos para ejes, títulos, subtítulos, etc. colores de rellenos
colores de bordes
tamaño o grueso de elementos
apariencias predefinidas
control manual sobre mapeos estéticos (colores, rellenos, formas)
ggplot2
cuenta con valores predeterminados para asignar formas y colores diferentes a diferentes niveles de variables categóricas
Podemos especificar manualmente las formas y colores para las categorías con un vector que se le da al argumento values
Para dos categorías con dos niveles c/u:
nombres HTML
Códigos hexagesimales
Free Color Picker (Windows); Gpick (Linux); ColorSlurp (Mac)
🔗 Galería de ejemplos de paletteer
El argumento name
modifica el título de la leyenda que se genera automáticamente para los mapeos
scale_x_gradient
o asignar rampa predeterminadaModificando parámetros gráficos
ranas.csv
02_personalizar-figuras.R
Controlan múltiples aspectos de la apariencia del gŕafico sin alterar los datos.
ggplot2
ggthemes
, artyfarty
, hrbrthemes
`🔗 Fabio Crameri - Scientific Color Maps
ggplot2
scale_x_viridis()
scico
Variables continuas y colores
ranas.csv
03_rampas.R
ggsave()
Los gráficos se pueden asignar a objetos en el entorno de trabajo
ragg
ragg
ggsave()
ragg
si lo encuentra instaladoArgumento scale
en ggsave()
y scaling
en dispositivos de ragg
para ajustar
facet()
facet_wrap()
para separar por una sola variable y ‘envolver’
facet_grid()
para separar con combinaciones de variables
Múltiplos
cafeteria.csv
04_multipanel.R
Orden alfabético de los niveles de la variable tipo
[1] "horneado" "horneado" "horneado" "horneado" "horneado"
[6] "horneado" "horneado" "horneado" "horneado" "horneado"
[11] "horneado" "horneado" "horneado" "horneado" "horneado"
[16] "horneado" "horneado" "horneado" "horneado" "horneado"
[21] "horneado" "horneado" "horneado" "horneado" "horneado"
[26] "horneado" "horneado" "horneado" "horneado" "horneado"
[31] "horneado" "horneado" "horneado" "horneado" "horneado"
[36] "horneado" "horneado" "horneado" "horneado" "horneado"
[41] "horneado" "almuerzo" "almuerzo" "almuerzo" "almuerzo"
[46] "almuerzo" "almuerzo" "almuerzo" "almuerzo" "individuales"
[51] "individuales" "individuales" "individuales" "individuales" "individuales"
[56] "individuales" "individuales" "individuales" "desayuno" "desayuno"
[61] "desayuno" "desayuno" "desayuno" "desayuno" "desayuno"
[66] "desayuno" "ensalada" "sandwich" "sandwich" "sandwich"
[71] "sandwich" "sandwich" "sandwich" "sandwich" "lácteos"
[76] "lácteos" "lácteos"
[1] horneado horneado horneado horneado horneado
[6] horneado horneado horneado horneado horneado
[11] horneado horneado horneado horneado horneado
[16] horneado horneado horneado horneado horneado
[21] horneado horneado horneado horneado horneado
[26] horneado horneado horneado horneado horneado
[31] horneado horneado horneado horneado horneado
[36] horneado horneado horneado horneado horneado
[41] horneado almuerzo almuerzo almuerzo almuerzo
[46] almuerzo almuerzo almuerzo almuerzo individuales
[51] individuales individuales individuales individuales individuales
[56] individuales individuales individuales desayuno desayuno
[61] desayuno desayuno desayuno desayuno desayuno
[66] desayuno ensalada sandwich sandwich sandwich
[71] sandwich sandwich sandwich sandwich lácteos
[76] lácteos lácteos
7 Levels: almuerzo desayuno ensalada horneado individuales ... sandwich
[1] "almuerzo" "desayuno" "ensalada" "horneado" "individuales"
[6] "lácteos" "sandwich"
Los niveles de un factor se pueden especificar manualmente con un vector en el argumento levels
Para cualquier otra manipulación de factores:
forcats
edad_gateo.csv
05_reordenar.R
Datos sobre la edad (semanas) de gateo en relación a temperatura y mes de nacimiento. Tomado de Benson (1993).
patchwork
+
para acomodar dos gráficos juntos|
para figuras lado a lado/
para apilar figurasplot_layout()
para controlar la composiciónplot_annotation()
para rotular elementos o agregar textosMás fácil de leer:
Tres figuras:
En una sola columna
Anidando:
tag_levels
genera diferentes secuencias alfabéticas o numéricas para identificar a cada elemento
Podemos usar markdown para darle formato al texto que aparece en diferentes elementos de nuestras gráficas, a través de la función element_markdown()
del paquete ggtext
ggplot2
Galería oficial de extensiones