ggplot2Por si no los tienen:
ggplot2The 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
Choropeta y Relieve por Timo Gossenbacher
Modificado de Wickham (2007)
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.
ggplot2ggthemes, artyfarty, hrbrthemes`🔗 Fabio Crameri - Scientific Color Maps

ggplot2scale_x_viridis()scicoVariables continuas y colores
ranas.csv
03_rampas.R
ggsave()
Los gráficos se pueden asignar a objetos en el entorno de trabajo
raggraggggsave()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
ggplot2Galería oficial de extensiones