I tried to plot some values with plotly and highcharts GeoJSON data from this repo, but I got very strange result.
Code example:
# packages ----------------------------------------------------------------
library(jsonlite)
library(plotly)
library(echarts4r)
# prepare data ------------------------------------------------------------
# read geo data
map_data <- read_json(path = "https://raw.githubusercontent.com/highcharts/map-collection-dist/master/countries/es/es-all.geo.json")
# fill values to draw
df <- data.frame(
id = unlist(lapply(map_data$features, "[[", "id")),
name = unlist(lapply(map_data$features, "[[", c("properties", "name")))
)
df$value <- as.integer(runif(NROW(df), 0, 100))
# plotly ------------------------------------------------------------------
plotly_plt <- plot_ly() %>%
add_trace(
type = "choropleth",
geojson = map_data,
locations = df[["id"]],
z = df[["value"]]
) %>%
layout(
geo = list(
fitbounds = "locations"
)
)
plotly_plt
Result:
But it work with echarts.
Code example:
colors <- c("#ffaa00", "#ffff7f", "#55aaff")
echarts_plt <- e_chart()
echarts_plt$x$registerMap <- list(
list(
mapName = "es",
geoJSON = map_data
)
)
echarts_plt$x$opts <- list(
tooltip = list(
trigger = "item"
),
series = list(
list(
type = "map",
map = "es",
name = "Param 1",
zoom = 1.3,
roam = TRUE,
data = purrr::transpose(df[, c("name", "value")])
)
),
visualMap = list(
type = "continuous",
color = colors,
calculable = TRUE,
min = min(df[["value"]]),
max = max(df[["value"]])
)
)
echarts_plt
Result:
Additional information:
─ Session info ────────────────────────────────────────────────────────────────
setting value
version R version 4.0.0 (2020-04-24)
os Arch Linux
system x86_64, linux-gnu
ui RStudio
language
collate ru_RU.UTF-8
ctype ru_RU.UTF-8
tz Asia/Novokuznetsk
date 2020-05-23
─ Packages ────────────────────────────────────────────────────────────────────
package * version date lib source
assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.0.0)
cli 2.0.2 2020-02-28 [1] CRAN (R 4.0.0)
colorspace 1.4-1 2019-03-18 [1] CRAN (R 4.0.0)
crayon 1.3.4 2017-09-16 [1] CRAN (R 4.0.0)
crosstalk 1.1.0.1 2020-03-13 [1] CRAN (R 4.0.0)
data.table 1.12.8 2019-12-09 [1] CRAN (R 4.0.0)
digest 0.6.25 2020-02-23 [1] CRAN (R 4.0.0)
dplyr 0.8.5 2020-03-07 [1] CRAN (R 4.0.0)
echarts4r * 0.2.3 2019-07-18 [1] CRAN (R 4.0.0)
ellipsis 0.3.1 2020-05-15 [1] CRAN (R 4.0.0)
fansi 0.4.1 2020-01-08 [1] CRAN (R 4.0.0)
farver 2.0.3 2020-01-16 [1] CRAN (R 4.0.0)
fastmap 1.0.1 2019-10-08 [1] CRAN (R 4.0.0)
ggplot2 * 3.3.0 2020-03-05 [1] CRAN (R 4.0.0)
glue 1.4.1 2020-05-13 [1] CRAN (R 4.0.0)
gtable 0.3.0 2019-03-25 [1] CRAN (R 4.0.0)
htmltools 0.4.0 2019-10-04 [1] CRAN (R 4.0.0)
htmlwidgets 1.5.1 2019-10-08 [1] CRAN (R 4.0.0)
httpuv 1.5.2 2019-09-11 [1] CRAN (R 4.0.0)
httr 1.4.1 2019-08-05 [1] CRAN (R 4.0.0)
jsonlite * 1.6.1 2020-02-02 [1] CRAN (R 4.0.0)
later 1.0.0 2019-10-04 [1] CRAN (R 4.0.0)
lazyeval 0.2.2 2019-03-15 [1] CRAN (R 4.0.0)
lifecycle 0.2.0 2020-03-06 [1] CRAN (R 4.0.0)
magrittr 1.5 2014-11-22 [1] CRAN (R 4.0.0)
mime 0.9 2020-02-04 [1] CRAN (R 4.0.0)
munsell 0.5.0 2018-06-12 [1] CRAN (R 4.0.0)
pillar 1.4.4 2020-05-05 [1] CRAN (R 4.0.0)
pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.0.0)
plotly * 4.9.2.1 2020-04-04 [1] CRAN (R 4.0.0)
promises 1.1.0 2019-10-04 [1] CRAN (R 4.0.0)
purrr 0.3.4 2020-04-17 [1] CRAN (R 4.0.0)
R6 2.4.1 2019-11-12 [1] CRAN (R 4.0.0)
Rcpp 1.0.4.6 2020-04-09 [1] CRAN (R 4.0.0)
rlang 0.4.6 2020-05-02 [1] CRAN (R 4.0.0)
rstudioapi 0.11 2020-02-07 [1] CRAN (R 4.0.0)
scales 1.1.1 2020-05-11 [1] CRAN (R 4.0.0)
sessioninfo 1.1.1 2018-11-05 [1] CRAN (R 4.0.0)
shiny 1.4.0.2 2020-03-13 [1] CRAN (R 4.0.0)
tibble 3.0.1 2020-04-20 [1] CRAN (R 4.0.0)
tidyr 1.1.0 2020-05-20 [1] CRAN (R 4.0.0)
tidyselect 1.1.0 2020-05-11 [1] CRAN (R 4.0.0)
tinytex 0.23 2020-05-19 [1] CRAN (R 4.0.0)
vctrs 0.3.0 2020-05-11 [1] CRAN (R 4.0.0)
viridisLite 0.3.0 2018-02-01 [1] CRAN (R 4.0.0)
withr 2.2.0 2020-04-20 [1] CRAN (R 4.0.0)
xfun 0.14 2020-05-20 [1] CRAN (R 4.0.0)
xtable 1.8-4 2019-04-21 [1] CRAN (R 4.0.0)
yaml 2.2.1 2020-02-01 [1] CRAN (R 4.0.0)

