Highcharts Demo
author(s): Torstein Hønsi
by Geo George
HTML
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<div id="container" style="height: 520px; width: 800px; margin: 0 auto; text-align:center; line-height: 520px">
Downloading map...
</div>
<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/exporting.js"></script>
<script src="https://code.highcharts.com/maps/modules/offline-exporting.js"></script>
<script src="https://code.highcharts.com/mapdata/countries/us/us-all-all.js"></script>
JavaScript
$.getJSON('https://cdn.jsdelivr.net/gh/highcharts/[email protected]/samples/data/us-counties-unemployment.json', function (data) {
/**
* Data parsed from http://www.bls.gov/lau/#tables
*
* 1. Go to http://www.bls.gov/lau/laucntycur14.txt (or similar, updated datasets)
* 2. In the Chrome Developer tools console, run this code:
* copy(JSON.stringify(document.body.innerHTML.split('\n').filter(function (s) { return s.indexOf('<PUT DATE HERE IN FORMAT e.g. Feb-14>') !== -1; }).map(function (row) { row = row.split('|'); return { code: 'us-' + row[3].trim().slice(-2).toLowerCase() + '-' + row[2].trim(), name: row[3].trim(), value: parseFloat(row[8]) }; })))
* 3. The data is now on your clipboard, paste it below
*/
var countiesMap = Highcharts.geojson(Highcharts.maps['countries/us/us-all-all']),
// Extract the line paths from the GeoJSON
lines = Highcharts.geojson(Highcharts.maps['countries/us/us-all-all'], 'mapline'),
// Filter out the state borders and separator lines, we want these in separate series
borderLines = Highcharts.grep(lines, function (l) {
return l.properties['hc-group'] === '__border_lines__';
}),
separatorLines = Highcharts.grep(lines, function (l) {
return l.properties['hc-group'] === '__separator_lines__';
});
// Add state acronym for tooltip
Highcharts.each(countiesMap, function (mapPoint) {
mapPoint.name = mapPoint.name + ', ' + mapPoint.properties['hc-key'].substr(3, 2);
});
// Create the map
Highcharts.mapChart('container', {
chart: {
borderWidth: 1,
marginRight: 20 // for the legend
},
title: {
text: 'US Counties unemployment rates, April 2015'
},
legend: {
layout: 'vertical',
align: 'right',
floating: true,
backgroundColor: (Highcharts.theme &&...