Mapas en R con leaflet.minicharts

En este artículo, crearé gráficos basados ​​en mapas en R, usando el paquete de folletos .minicharts en R. Ya introduje el folleto para crear marcadores en mapas y para visualizar distribuciones espaciales con mapas térmicos de densidad. En esta publicación de blog , creo gráficos de barras, gráficos circulares y gráficos de áreas polares utilizando folletos .minicharts en R.

Crear un mapa base con Leaflet en R

Primero, creo un mapa base para mi visualización. Puedo hacerlo usando el paquete de folletos en R. En las líneas de código a continuación creo el mapa base.

library(knitr)
library(leaflet)

basemap = leaflet() %>% 
  addTiles() %>% 
  addProviderTiles(providers$OpenStreetMap.DE) %>%
  setView(-98,38.5,zoom=4)

basemap
Mapa base para gráficos de datos espaciales

En este caso, quiero ver los datos de EE. UU. Por esta razón configuré la vista del mapa para mostrar la mayoría de los estados de EE. UU. No se muestra Hawái.

Importación de datos de ventas para folleto.minicharts

A continuación, importo datos de ventas para cada estado relevante de EE. UU. Los datos ya han sido preparados y resumidos en Excel. Es por eso que los datos están disponibles en un archivo csv que importo a la memoria.

data = read.csv("sales.csv",header=TRUE)
head(data)
##           state  longitude latitude sales_sensors sales_pumps sales_displays
## 1     Wisconsin  -89.50000 44.50000         13000   12002.374      5664.6262
## 2 West Virginia  -80.50000 39.00000          5000    2739.885      3774.7759
## 3       Vermont  -72.70000 44.00000          3400    1041.972      2332.2328
## 4         Texas -100.00000 31.00000         37000    6287.578     13425.8577
## 5  South Dakota -100.00000 44.50000          5600    3115.934       558.0957
## 6  Rhode Island  -71.74233 41.74233          4000    3623.527       873.5025
##   sales_motoroil sales_filters sales_tires sales_headlamps sales_rearlighting
## 1     10646.1263     3962.7175    4863.633       1921.3345           3692.084
## 2       844.2269      524.2226    4728.812        425.4734           2107.706
## 3       640.9263     1003.8087    2410.252       3056.3377           2659.093
## 4     16161.9943    30441.3494   10438.494       2196.3884          35905.807
## 5      5338.5218     4551.7116    3200.116       3823.2335           3946.851
## 6      1758.7899     3633.4848    3170.961       3211.9275           2669.132
##   sales_interiorlighting sales_total
## 1             11227.7133    66980.61
## 2               956.6307    21101.73
## 3              3177.5397    19722.16
## 4              6316.8175   158174.29
## 5               723.8857    30858.35
## 6              3967.7682    26909.09

El conjunto de datos resume los ingresos por ventas del último año fiscal para un negocio minorista de repuestos de automóviles. El minorista se especializa en el estacionamiento europeo y actualmente envía todos sus pedidos de venta a los clientes mediante dropshipping desde Alemania, Francia, Italia y España. Las ventas se clasifican en los principales grupos de productos.

Visualización de datos de ventas usando leaflet.minichart

Para empezar, creo un mapa de gráfico de barras usando folleto y folleto .minichart. Uso los gráficos de barras para comparar las ventas de bombas y sensores en EE. UU.

library(leaflet.minicharts)
library(magrittr)
library(dplyr)

colors = c("#FF0000", "#428EF4")

basemap %>%
  addMinicharts(
    data$longitude, data$latitude,
    chartdata = select(data,sales_sensors,sales_pumps),
    colorPalette = colors,
    width = 45, height = 45
  )
Gráfico de barras en el mapa con folleto.minicharts en R

¿Cómo se compara esto con las ventas totales? El siguiente mapa de gráfico de barras ofrece la respuesta a esta pregunta.

colors = c("#FF0000", "#428EF4","black")

basemap %>%
  addMinicharts(
    data$longitude, data$latitude,
    chartdata = select(data,sales_sensors,sales_pumps, sales_total),
    colorPalette = colors,
    width = 45, height = 45
  )
Gráfico de barras con los ingresos totales por ventas

También puedo hacer una descripción general como esta usando gráficos circulares. Vea el siguiente código:

colors <- c("#FF0000", "#428EF4")

basemap %>%
  addMinicharts(
    data$longitude, data$latitude,
    type = "pie",
    chartdata = select(data,sales_sensors,sales_pumps), 
    colorPalette = colors, 
    width = 60 * sqrt(data$sales_total) / sqrt(max(data$sales_total)), transitionTime = 0
  )
Gráfico circular con folleto.minicharts en R

El tamaño del pastel se define por el radio del círculo. Es el resultado de los ingresos totales por ventas en todas las categorías de productos. Ahora genero un mapa más que muestra gráficos circulares con todas las categorías de productos.

basemap %>%
  addMinicharts(
    data$longitude, data$latitude,
    type = "pie",
    chartdata = select(data,sales_sensors,sales_pumps,sales_displays,sales_motoroil,sales_filters,sales_tires,sales_headlamps,sales_rearlighting,sales_interiorlighting), 
    width = 60 * sqrt(data$sales_total) / sqrt(max(data$sales_total)), transitionTime = 0
  )
Todos los grupos de productos en el gráfico, usando leaflet.minicharts

Al generar visualizaciones como esta, ayudo al minorista a comprender el mercado estadounidense desde el punto de vista de la distribución logística.

Otros tipos de gráficos con leaflet.minicharts

Usando folletos .minicharts, también puedo mostrar los flujos de materiales como flujos direccionales en el mapa. Para esto, necesito construir un marco de datos que contrate las coordenadas de «fuente» y «sumidero» en forma de valores de latitud y longitud. Además, el volumen de flujo debe cuantificarse en el marco de datos para trazar.

Por último, pero no menos importante, también puedo usar folletos .minicharts para crear gráficos animados. Esto es útil, por ejemplo, cuando se muestra una tendencia basada en el tiempo en un mapa.

Resumen de esta publicación de folleto.minicharts

En este artículo, presenté el folleto .minicharts como un paquete en R para el trazado de gráficos basados ​​en mapas. En artículos anteriores, introduje folletos para, por ejemplo, diagramas de marcadores o mapas de calor basados ​​en mapas. Este artículo documentó cómo se pueden usar los .minicharts de folletos para agregar, por ejemplo, gráficos de barras y gráficos circulares a un mapa de folletos.

You May Also Like

Leave a Reply

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.