Flow map

A flow map is a series type that allows to display route paths (e.g. flights or ships routes) or flows (e.g. import/export between regions) on a map.

Setting the Flow Map Series

In the above example, our map data is based on regions, so we need to load and add a base map first:

const topology = await fetch(
'https://code.highcharts.com/mapdata/custom/world.topo.json'
).then(response => response.json());
chart: {
map: topology
}

Then you can add the mappoint series which will be the base series responsible for connecting the flowmap to specific map points (nodes):

series: [{
type: 'mappoint',
name: 'Cities',
data: [{
id: 'Oslo',
lat: 60.1975501,
lon: 11.1004152,
}, {
id: 'Warszawa',
lat: 52.169192,
lon: 20.973514
},
...
],
...
}]

The last step is to add our flow map series configuration with series.type set to 'flowmap'. If you choose to use the data points from mappoint series, they will be connected by their id, otherwise simple [longitude, latitude] coordinates can be used for the end points. The important options that you may notice in the example below are curveFactor and markerEnd:

series: [{
type: 'flowmap',
name: 'Flowmap with mappoint series',
data: [{
from: 'Warszawa',
to: 'Oslo',
curveFactor: 0.4,
weight: 5,
growTorwards: true,
markerEnd: {
enabled: true,
height: 15,
width: 10
}
...
}],
...
}]

Alternatively, you can omit the creation of mappoint series, and create the flows directly with [longitude, latitude] coordinates specified in from/to properties.

series: [{
type: 'flowmap',
name: 'Flowmap with lon/lat coordinates',
data: [
{
from: [52.2662, 20.9969],
to: [59.9170, 10.7511]
},
...
],
...
}]

API Reference

For an overview of the flowmap map series options see the API reference.