Un paquete para tematic maps
, que permite crear mapas atractivos con mínimo codigo.
Tiene la ventaja de crear mapas estáticos y interactivos con el mismo código.
Permite utilizar una amplia gamma de datos espaciales (ej, {raster}, {terra} y {sf})
tm_shape
para indicar la data de entrada y luego un elemento de la capa que da el diseño.Podemos mezclar varios objetos y de diferente tipo.
Podemos mezclar varios objetos y de diferente tipo.
Podemos mezclar varios objetos y de diferente tipo.
Grammar of graphics
se enfoca en la estética (Aesthetics).
Hasta ahora hemos visto las estéticas por defecto de {tmap}.
Nosostros podemos varias la estética de los mapas en {tmap}
Hay dos principales tipos de aesthetics:}
{tmap}
acepta como argumento de estética una variable (basada en una columna) o un valor constante.
Las estéticas más comunmente usadas son para color de relleno y de borde, son color, transparencia, ancho de linea, que se setean con col
, alpha
, lwd
y lty
.
ma1 = tm_shape(nz) + tm_fill(col = "red")
ma2 = tm_shape(nz) + tm_fill(col = "red", alpha = 0.3)
ma3 = tm_shape(nz) + tm_borders(col = "blue")
ma4 = tm_shape(nz) + tm_borders(lwd = 3)
ma5 = tm_shape(nz) + tm_borders(lty = 2)
ma6 = tm_shape(nz) + tm_fill(col = "red", alpha = 0.3) +
tm_borders(col = "blue", lwd = 3, lty = 2)
tmap_arrange(ma1, ma2, ma3, ma4, ma5, ma6)
¡Esto puede ser confuso!
Como en base R los argumentos pueden tener valor que varien (una variable).
Pero a diferencia de base R, {tmap}
no acepta vectores numéricos como argumento.
Esto funciona
Pero esto NO
col
(y otras estéticas que pueden variar, como lwd
para líneas y size
para capas de puntos) requiere una cadena de caracteres que nombre un atributo asociado con la geometría que se trazará.Simple feature collection with 6 features and 6 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: 1568217 ymin: 5518431 xmax: 2089533 ymax: 6191874
Projected CRS: NZGD2000 / New Zealand Transverse Mercator 2000
Name Island Land_area Population Median_income Sex_ratio
1 Northland North 12500.561 175500 23400 0.9424532
2 Auckland North 4941.573 1657200 29600 0.9442858
3 Waikato North 23900.036 460100 27900 0.9520500
4 Bay of Plenty North 12071.145 299900 26200 0.9280391
5 Gisborne North 8385.827 48500 24400 0.9349734
6 Hawke's Bay North 14137.524 164000 26100 0.9238375
geom
1 MULTIPOLYGON (((1745493 600...
2 MULTIPOLYGON (((1803822 590...
3 MULTIPOLYGON (((1860345 585...
4 MULTIPOLYGON (((2049387 583...
5 MULTIPOLYGON (((2024489 567...
6 MULTIPOLYGON (((2024489 567...
Podemos cambiar el título de la leyenda
Como defino la leyenda de colores no es algo trivial. Muchos problemas de interpretación de resultados se generan por una mala visualización.
La configuración predeterminada de {tmap}
usa pretty
breaks
.
Los argumentos:
- breaks
permite manualmente ajustar los breaks
- n
define el numéro de bin en el cual la variable es categorizada
- palette
define el esquema de colores
mcol1 <- tm_shape(nz) + tm_polygons(fill = "Median_income")
breaks = c(0, 3, 4, 5) * 10000
mcol2 <- tm_shape(nz) + tm_polygons(fill = "Median_income", breaks = breaks)
mcol3 <- tm_shape(nz) + tm_polygons(fill = "Median_income", n = 10)
mcol4 <- tm_shape(nz) + tm_polygons(fill = "Median_income", palette = "BuGn")
tmap_arrange(mcol1,mcol2,mcol3,mcol4,nrow = 1)
Podemos modificar la escala de colores con el argumento breaks
Además de poder cambiar los breaks
de forma manual {tmap}
permite usar algorítmos para definir la escala.
Los seis más utilizados algorítmos son:
- style = "pretty"
, la configuración predeterminada, redondea los breaks
en números enteros cuando sea posible y los espacia uniformemente;
- style = "equal"
divide los valores de entrada en contenedores de igual rango y es apropiado para variables con una distribución uniforme ;
- style = "quantile"
asegura que el mismo número de observaciones caiga en cada categoría ;
- style = "jenks"
identifica grupos de valores similares en los datos y maximiza las diferencias entre categorías;
- style = "cont"
(y “order”) presentan una gran cantidad de colores sobre campos de color continuos y son particularmente adecuados para rásteres continuos (“order” puede ayudar a visualizar distribuciones sesgadas);
- style = "cat"
fue diseñado para representar valores categóricos y asegura que cada categoría reciba un color único.
mcol5 <- tm_shape(nz) +
tm_polygons(col = "Median_income", style="pretty")
mcol6 <- tm_shape(nz) +
tm_polygons(col = "Median_income", style="equal")
mcol7 <- tm_shape(nz) +
tm_polygons(col = "Median_income", style="quantile")
mcol8 <- tm_shape(nz) +
tm_polygons(col = "Median_income", style="jenks")
mcol9 <- tm_shape(nz_elev) +
tm_raster(col = "elevation", style="cont")
mcol10 <- tm_shape(nz) +
tm_polygons(col = "Island", style="cat")
¿Qué paleta de color usar?
se puede modificar cambiar el argumento palette
Una ayuda para seleccionar paleta tmaptools::palette_explorer()
con el signo -
antes del nombre de la paleta la invierte.
Hey tres grupos de paletas:
categorical
: variables categóricas ej., landcoversequencial
: variable continuas, sigue un gradiente, por ejemplo de claro a oscurodiverging
: variable continua, une dos paletas sequencial
El diseño del mapa se refiere a la combinación de todos los elementos del mapa en un mapa armónico
Flecha norte y escala
El argumento tm_layout
permite ajustar varios aspectos de diseño (?tm_layout
).
Algunos argumentos
frame.lwd
) y la opción para permitir doble linea (frame.double.line
)outer.margin
y inner.margin
fontface
y fontfamily
legend.show
(mostra o no la leyenda) legend.only
(omitir el mapa) y legend.outside
(poner la leyenda fuera del mapa), legend.position
para ubicar la leyenda en un posición dadaaes.color
), atributos del mapa como el marco (attr.color
)sepia.intensity
(que tan amarillo el mapa luce) y saturación (a color-grayscale)Ancho del marco frame.lwd
Margen interior inner.margins
No incluir la legenda legend.show
Posición de la leyenda legend.position
Efecto sepia sepia.intensity
Efecto saturación saturation
Color por defecto attr.color
{tmap}
tiene algunos estilos predefinidos que modifican el diseño completo del mapa con la función tm_style
.{tmap}
tiene algunos estilos predefinidos que modifican el diseño completo del mapa con la función tm_style
.{tmap}
tiene algunos estilos predefinidos que modifican el diseño completo del mapa con la función tm_style
.{tmap}
tiene algunos estilos predefinidos que modifican el diseño completo del mapa con la función tm_style
.El lanzamiento del paquete {leaflet}
en 2015 revolucionó la creación de mapas interactivos en R
.
De {leaflet}
derivaron otros paquetes {leaflet.extras}
, {mapview}
y {tmap}
Una característica especial de {tmap}
es que permite crear mapas estáticos e interactivos usando el mismo código.
Los mapas pueden verse de forma interactiva en cualquier momento configurando {tmap}
en modo view
tmap_mode("view")
.Podemos especificar el mapa base con tm_basemap
También funciona con facets
para volver a modo tmap
estático tmap_mode("plot")
IMSD1025|2-2025