从非highmap集合贴图生成choropleth

从非highmap集合贴图生成choropleth,r,highcharts,geojson,r-highcharter,R,Highcharts,Geojson,R Highcharter,我一直在尝试用highcharter包中的hcmap制作一张choropleth地图;我从我自己的shapefile中获得了多边形,因为它是一个不在highmap集合列表中的贴图 为此,首先我设法将shapefile转换为GeoJson文件,如下所述: 后来,我使用包geosonio绘制了地图,如下所述: 但是,我不知道如何将带有值的数据帧合并到地图中绘制的多边形中。所有可用的示例都合并为data.frame格式的mapdata,在转换为GeoJson时我会丢失它 以下是我目前的代码: li

我一直在尝试用
highcharter
包中的
hcmap
制作一张choropleth地图;我从我自己的shapefile中获得了多边形,因为它是一个不在highmap集合列表中的贴图

为此,首先我设法将shapefile转换为GeoJson文件,如下所述:

后来,我使用包
geosonio
绘制了地图,如下所述:

但是,我不知道如何将带有值的数据帧合并到地图中绘制的多边形中。所有可用的示例都合并为data.frame格式的mapdata,在转换为GeoJson时我会丢失它

以下是我目前的代码:

library(rgdal)
library(geojsonio)
library(highcharter)

#Get map from shapefile
Mymap <- readOGR(dsn="Mymap", "Mymap", verbose = FALSE) %>%  
                 spTransform(CRS("+proj=longlat +ellps=GRS80 +datum=WGS84"))

#Transform to geoJson
MymapJSON <- geojson_json(Mymap)

#Use geojsonio to make data compatible with hcmap
Myhcmap <- jsonlite::fromJSON(MymapJSON, simplifyVector = FALSE)
Myhcmap<- geojsonio::as.json(Myhcmap)

#Draw map:

highchart(type = "map") %>%
   hc_add_series(mapData = Myhcmap, showInLegend = T)
库(rgdal)
图书馆(geojsonio)
图书馆(高级特许)
#从shapefile获取贴图
Mymap%
spTransform(CRS(“+proj=longlat+ellps=GRS80+datum=WGS84”))
#转换为geoJson

MymapJSON不久前,我终于自己找到了一个解决方案,它相当简单,但由于没有很好的文档记录如何向GeoJSON添加数据,我将在这里展示:

#Work with the map until this step: 
Myhcmap <- jsonlite::fromJSON(MymapJSON, simplifyVector = FALSE)

#This part was unnecessary:
#Myhcmap<- geojsonio::as.json(Myhcmap)

#Then, write your map like this:

highchart() %>%
hc_add_series_map(Myhcmap, df, value = "value", joinBy = "ID")
#使用地图,直到执行此步骤:

Myhchi。这是一个演示,其中有一张官方海图欧洲地图。您可以看到这个映射的结构,在底部,您可以看到我是如何使用hc键代码连接数据的。您还可以使用series.joinBy属性和connect(例如,按名称)。现在,您可以检查是否已正确创建地图和准备数据。您的问题是关于使用
highcharter
制作地图,还是关于在GeoJSON和ShapeFile之间合并数据?@symbolXau更多的是关于后者。Muchas gracias!