Highcharts Demo
author(s):
Torstein Hønsi
by Alagar Kamuthurai
HTML
<script src="https://unpkg.com/topojson-client@3"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.5.0/proj4.js"></script>
<script src="https://code.highcharts.com/maps/highmaps.js"></script>
<script src="https://code.highcharts.com/maps/modules/data.js"></script>
<script src="https://code.highcharts.com/maps/modules/data.js"></script>
<script src="https://code.highcharts.com/maps/modules/exporting.js"></script>
<script src="https://code.highcharts.com/maps/modules/offline-exporting.js"></script>
<div id="container"></div>
CSS
#container {
height: 500px;
min-width: 310px;
max-width: 800px;
margin: 0 auto;
}
.loading {
margin-top: 10em;
text-align: center;
color: gray;
}
JavaScript
Highcharts.getJSON(
'https://cdn.jsdelivr.net/gh/highcharts/highcharts@219f5b38b5/samples/data/us-albers.geo.json',
function (topology) {
// Convert the topoJSON feature into geoJSON
const geojson = window.topojson.feature(
topology,
// For this demo, get the first of the named objects
topology.objects[Object.keys(topology.objects)[0]]
);
console.log(geojson);
const data = [];
// Initialize the chart
Highcharts.mapChart('container', {
chart: {
map: geojson
},
title: {
text: 'TopoJSON in Highmaps'
},
mapNavigation: {
enabled: true,
buttonOptions: {
verticalAlign: 'bottom'
}
},
colorAxis: {
tickPixelInterval: 100,
minColor: '#F1EEF6',
maxColor: '#900037'
},
tooltip: {
pointFormat: '{point.properties.name}: {point.value}'
},
series: [{
data: data,
joinBy: null,
name: 'Random data',
states: {
hover: {
color: '#a4edba'
}
},
dataLabels: {
enabled: true,
format: '{point.properties.name}'
}
}]
});
}
);