地图
简介
地图是一种将数据可视化为区域颜色或填充效果以显示地理位置的图表类型。通常,地图图表会使用行政边界图层或地图瓦片作为基础地图,并使用颜色或填充级别来表示特定区域的数据值。
图表构成
地图主要由形似地理区域的 path 图元及标签等元素构成。

形似地理区域的 path 图元为地图的基本要素,相关的绘制配置必不可少:
mapChart.type: 图表类型,地图的类型为'map'mapChart.nameField: 分类字段,映射 path 图元所表示的地理区域mapChart.valueField: 数值字段,映射 path 图元的颜色
由于绘制地理区域需要地图数据的支持,所以地图数据的配置同样必不可少:
VChart.registerMap(mapName, mapData): VChart 提供地图数据注册的 api,其中mapName表示注册的地图数据名称,mapData指具体的地图数据,默认为geojson类型地图数据,也支持topojson类型地图数据。mapChart.map: 指定使用注册的地图数据名称
更多地图相关配置见地图
快速上手
地图特性
数据
在地图中需要两份数据:
- 地图底图数据 地图图表的最基本元素是地图底图,加载地图分为 3 步:
- 获取远程底图数据,比如:
await fetch(xxx) - 注册地图数据,比如:
VChart.registerMap('china', china_topojson, {
type: 'topojson',
object: 'china'
});
VChart 提供地图数据注册的 apiVChart.registerMap(mapName, mapData),其中mapName表示注册的地图数据名称,mapData指具体的地图数据,默认为geojson类型地图数据,也支持topojson 类型地图数据,如下面的例子。
- 指定使用注册的地图数据名称,比如
VChart.map: 'mapName'
rewind
在地理信息系统(GIS)和地图可视化开发中,Rewind(重绕/回绕)是一个用于**修正多边形(Polygon)顶点顺序(Winding Order)**的关键操作。
简单来说,它的作用是确保多边形的“外环”和“内环(洞)”按照标准规定的方向(顺时针或逆时针)排列,以防止渲染引擎在绘图时出现严重的视觉错误。
一般来说,如果传入地图数据没有报错,映射也配置正确,但是绘图效果不符合预期时,那就有可能是地图数据的顶点顺序(Winding Order)不符合预期,导致渲染引擎绘制错误。
在这种情况下,就需要对地图数据进行 Rewind 操作,确保多边形的“外环”和“内环(洞)”按照标准规定的方向(顺时针或逆时针)排列。vchart 在注册地图的参数值中有提供 rewin 选项,默认为 false 。
// topojson 数据开启 rewind 选项
VChart.registerMap('south-america', topojson, {
type: 'topojson',
object: 'south-america',
rewind: true
});
// geojson 数据开启 rewind 选项
VChart.registerMap('world', world_geojson, {
type: 'geojson',
rewind: true
});
- 图元映射数据
- 一个
地理维度字段,用于指定需要在底图上着色的区域 - 一个