Plot.Mundo.Rd
Esta función está planeada para facilitar la creación de mapas interactivos
compatible con plataformas móviles y de escritorio, además de estar diseñada
pensando en la simplicidad y el rendimiento. Esta utilidad produce mapas que
tienen controles para hacer zoom, desplazarse y alternar capas y puntos entre
mostrar y ocultar. Igualmente, permite incrustar mapas en webs, documentos
R Markdown
y aplicaciones Shiny
. Todo lo anterior basado enteramente en la
librería Leaflet
, la cual es la biblioteca JavaScript
de código abierto más
popular para mapas interactivos.
Plot.Mundo(
datos,
paises,
variable,
grupo,
tipo = c("Pais", "SiNoPais"),
titulo,
naTo0 = TRUE,
colNA = "#EEEEEE",
centroideMapa,
zoomMapa = 2,
baldosas,
cortes,
colores,
opacidad = 0.7,
colBorde,
compacto = TRUE,
textSize = 10,
limpio = FALSE,
estatico = FALSE,
estilo
)
Un data frame, no un vector numérico.
Una variable dentro del data frame ingresado en datos
, que
contiene los códigos de los países, de acuerdo con la codificación
ISO3166, ya sea el nombre o el código alpha2 o alpha3.
Variable auxiliar con la cual se calculará el estadístico previamente seleccionado. Para el caso en que la estadística a calcular sea el conteo no es necesario (no se usará) especificar dicha variable numérica.
Variable auxiliar con la cual se segmentará los datos, para que se grafique en un único plot divido en parcelas por dicha variable.
Cadena de caracteres que indica el tipo de mapa a graficar. Los valores permitidos son "Deptos", "SiNoMpios", "Mpios" y "DeptoMpio" (valor predeterminado). Se emparejará parcialmente.
Cadena de caracteres indicando la segregación que presenta el mapa y el periodo al que hace referencia éste, separados por un espacio, por ejemplo, "Admitidos 2021-I".
Si es TRUE
(valor predeterminado) los valores introducidos
como NA
(not available) se cambiarán por el valor de 0. Ajústelo a FALSE
para que no se realice tal cambio y mostrar en la caja de información la
leyenda "Sin Información".
Cadena de caracteres indicando el color que tendrá la categoría
NA
(si esta se presenta). El valor por defecto es un gris muy claro.
Cadena de caracteres indicando el país que servirá de centroide al momento de graficar el mapa. El valor por defecto es "MEXICO". Se emparejará parcialmente.
Valor numérico que indica el nivel de zoom del mapa
(usado por la función setView()). El valor por
defecto es 6
, entre mayor sea su valor más zoom se aplicará al mapa.
Vector de caracteres indicando los mapas base con los que se
realizará el mapa, sean los popularizados por Google Maps o por terceros.
Los valores aceptados son los admitidos por la función
addProviderTiles(), así mismo los valores por
defecto son c("CartoDB.Positron", "Esri.WorldStreetMap", "Esri.NatGeoWorldMap")
,
algunos otros valores pueden ser:
"Esri.DeLorme"
"Esri.WorldTerrain"
"Esri.WorldShadedRelief"
"Esri.WorldPhysical"
"Esri.OceanBasemap"
"Esri.WorldGrayCanvas"
"Esri.WorldImagery"
"Stamen.Toner"
"Stamen.TonerLite"
"Stamen.TonerLines"
"Stamen.Watercolor"
"Stamen.TonerHybrid"
La lista completa la puede consultar aquí
Vector numérico indicando los cortes con los cuales se crearán
los intervalos. No aplica para el tipo de mapa "SiNoMpios", pues este es
binario. Para el tipo de mapa "DeptoMpio" se debe pasar una lista de la
siguiente manera list(Deptos = c(), Mpios = c())
, pues requiere dos cortes,
uno para departamentos y otro para municipios.
Vector de caracteres indicando los colores para cada uno de los intervalos con los que cuenta el mapa. Si no se introduce algún vector, se usará una paleta predeterminada dependiendo del tipo de mapa.
Un número entre \([0, 1]\) que indica la opacidad de las capas.
Cadena de caracteres indicando el color del borde de los polígonos al momento de pasar el cursor sobre él.
Si es TRUE
(valor predeterminado) el control de capas se
representará como un icono que se expande cuando se coloca el cursor sobre
él. Ajústelo a FALSE
para que el control de capas siempre aparezca en su
estado expandido.
Valor numérico que indica el tamaño del texto de las etiquetas de los municipios. El valor para los departamentos será \(+2px\).
Si es FALSE
(valor predeterminado) se mostrará el MiniMapa,
la barra de escala y los botones para ver en pantalla completa, retornar zoom
y localización. Ajústelo a TRUE
si desea omitir dichas herramientas adicionales
al mapa.
Si es FALSE
(valor predeterminado) el gráfico a retornar
será dinámico (dependiendo de la librería seleccionada), en caso contrario
se retornará un gráfico estático construido con ggplot2
.
Lista compuesta por varios parámetros, los cuales van a ser usados para graficar el mapa estático y cuyo objetivo es personalizar pequeños detalles de éste.
anchoBorde
: Número decimal que indica el ancho de la línea de contorno
de los polígonos del mapa. El valor por defecto es 0.5
.
labelX
, labelY
: Cadena de caracteres indicando la etiqueta del eje
respectivo. El valor por defecto es "Longitud"
y "Latitud"
respectivamente.
xlim
, ylim
: Vector numérico que especifica los límites de los ejes respectivos.
Legend
: Igual uso que gg.Legend
en Plot.Series()
Labs
: Igual uso que gg.Texto
en Plot.Series()
. Con la adición del
argumento fill
, el cual especifica el título de leyenda. El valor por
defecto es "Statistic"
. Si es NULL
, se omitirá dicho título.
Theme
: Igual uso que gg.Tema
en Plot.Series()
Style
: Cadena de caracteres que indica el tipo de mapa a graficar.
Los valores permitidos son "Intervalo"
, "SiNo"
, "Calor"
y NA
(valor predeterminado). Se emparejará parcialmente.
Text
: Lista que especifica aspectos como el color y tamaño de los títulos
de los polígonos. Para más información, consulte la función geom_sf_text().
scaleX
, scaleY
: Vector numérico que especifica los puntos o cortes a
graficar en dicho eje. Sacado de la función scale_x_continuous().
Retorna el mapa (objeto widget de HTML) creado mediante Leaflet
, el cual
pertenece a la clase "leaflet" y "htmlwidget".
LATAM <- data.frame(
Country = c("Chile", "Venezuela", "Colombia", "Argentina", "Brazil"),
PIB = c(1, 10, 100, 1000, 10000)*1:5
)
Plot.Mundo(
datos = LATAM,
paises = Country,
variable = PIB,
tipo = "Pais",
titulo = "PIB 2023-Q1",
naTo0 = FALSE,
colNA = "#3DBC25",
centroideMapa = "Peru",
zoomMapa = 3,
cortes = c(0, 10, 100, 1000, 10000, Inf),
colores = c("#DFA86A", "#FFBB00", "#FF5100", "#F20034", "#76009D"),
opacidad = 0.5,
colBorde = "#0E9BEE",
compacto = TRUE,
textSize = 4,
limpio = FALSE
)
# ---------------------------------------------------------------------------
Plot.Mundo(
datos = LATAM,
paises = Country,
variable = PIB,
tipo = "SiNoPais",
titulo = "PIB 2023-Q1",
centroideMapa = "Senegal",
colores = c("#45C9FF", "#FF153F"),
opacidad = 0.6,
colBorde = "#3DBC25",
compacto = FALSE,
textSize = 10,
limpio = FALSE
)
# ---------------------------------------------------------------------------
set.seed(123)
LATAM <- data.frame(
Pais = c("Bolivia", "Colombia", "Ecuador", "Panama", "Venezuela",
"Peru", "Argentina", "Brazil", "Chile", "Uruguay"),
PIB = runif(10, -10, 10),
Bolivariano = c("Sí", "Sí", "Sí", "Sí", "Sí", "Sí", "No", "No", "No", "No")
)
Plot.Mundo(
datos = LATAM,
paises = Pais,
variable = Bolivariano,
tipo = "Pais",
titulo = "PA\u00cdSES BOLIVARIANOS EN AM\u00c9RICA LATINA",
naTo0 = FALSE,
estatico = TRUE,
estilo = list(Style = NA, Theme = 2)
)
#> Warning: st_point_on_surface may not give correct results for longitude/latitude data
#> Warning: Removed 2 rows containing missing values or values outside the scale range
#> (`geom_text()`).
#> Scale on map varies by more than 10%, scale bar may be inaccurate
# ---------------------------------------------------------------------------
Plot.Mundo(
datos = LATAM,
paises = Pais,
variable = PIB,
# grupo = Bolivariano,
tipo = "Pais",
titulo = "PROYECCI\u00d3N DEL PIB",
opacidad = 0.4,
colBorde = "#876445",
estatico = TRUE,
estilo = list(
Style = "Calor",
showISO = list(color = "#00468A", size = 3.5, fontface = "bold.italic"),
xlim = c(-82, -34),
ylim = c(-60, 14),
scaleX = seq(-82, 34, by = 8),
scaleY = seq(-60, 14, by = 5),
anchoBorde = 1,
Theme = 6, Legend = list(legend.position = "bottom", legend.direction = "horizontal"),
Labs = list(subtitle = "Para Suram\u00e9rica en el 2023",
caption = "Datos simulados para el ejemplo ilustrativo",
tag = "\u00ae"
)
)
)
#> Warning: Se han producido NaNs
#> Warning: sqrt transformation introduced infinite values.
#> Scale on map varies by more than 10%, scale bar may be inaccurate
# ---------------------------------------------------------------------------
Territories <- data.frame(
Country = c("RUS", "FRA", "UKR", "ESP", "SWE", "DEU", "DZA", "COD", "SDN", "LBY", "TCD", "NER"),
Area = rep(10^(5:0), 2)
)
Plot.Mundo(
datos = Territories,
paises = Country,
variable = Area,
tipo = "Pais",
titulo = "ALGUNOS DE LOS PA\u00cdSES CON MAYOR \u00c1REA",
# showISO = list(),
naTo0 = FALSE,
colNA = "#0C1C2B",
cortes = c(-.0001, 10, 100, 1000, 10000, Inf),
colores = c("#DFA86A", "#FFBB00", "#FF5100", "#F20034", "#76009D"),
opacidad = 0.4,
limpio = TRUE,
estatico = TRUE,
estilo = list(
Style = "Intervalo", continente = c("Africa", "Europe"), Theme = 4
)
)
#> Warning: st_point_on_surface may not give correct results for longitude/latitude data
#> Warning: Removed 1 row containing missing values or values outside the scale range
#> (`geom_text()`).
# ---------------------------------------------------------------------------
COL <- data.frame(Pais = "CO", IDH = 100000)
Plot.Mundo(
datos = COL,
paises = Pais,
variable = IDH,
tipo = "Pais",
titulo = "",
colores = c("#10F235", "#00BCB5"),
naTo0 = TRUE,
estatico = TRUE,
estilo = list(Style = "SiNo", Theme = 3)
)
#> Warning: st_point_on_surface may not give correct results for longitude/latitude data
#> Warning: Removed 2 rows containing missing values or values outside the scale range
#> (`geom_text()`).
#> Scale on map varies by more than 10%, scale bar may be inaccurate