Highcharts Demo
author(s):
Torstein Hønsi
by roberts gailitis
HTML
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css">
<script src="https://code.jquery.com/jquery-3.1.1.min.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/mapdata/custom/world.js"></script>
<div id="container">
<div class="loading">
<i class="icon-spinner icon-spin icon-large"></i>
Loading data from Google Spreadsheets...
</div>
</div>
CSS
#container {
height: 500px;
min-width: 310px;
max-width: 800px;
margin: 0 auto;
}
.loading {
margin-top: 10em;
text-align: center;
color: gray;
}
JavaScript
// Load the data from a Google Spreadsheet
// https://docs.google.com/a/highsoft.com/spreadsheet/pub?hl=en_GB&hl=en_GB&key=0AoIaUO7wH1HwdFJHaFI4eUJDYlVna3k5TlpuXzZubHc&output=html
// 1eSa0wMkOBU5GD9g0lQHRGUL5k7DS3iqBhGwn21R_bz8
// 1D3vrRrnajDZ39Tyg6q036qpOshc1-CJjiJa4iw46bjA
Highcharts.data({
googleSpreadsheetKey: '1D3vrRrnajDZ39Tyg6q036qpOshc1-CJjiJa4iw46bjA',
// custom handler when the spreadsheet is parsed
parsed: function (columns) {
// Read the columns into the data array
var data = [];
$.each(columns[0], function (i, code) {
data.push({
code: code.toUpperCase(),
value: parseFloat(columns[2][i]),
name: columns[1][i]
});
});
// Initiate the chart
Highcharts.mapChart('container', {
chart: {
borderWidth: 1
},
colors: ['rgba(19,64,117,0.05)', 'rgba(19,64,117,0.2)', 'rgba(19,64,117,0.4)',
'rgba(19,64,117,0.5)', 'rgba(19,64,117,0.6)', 'rgba(19,64,117,0.8)', 'rgba(19,64,117,1)'],
title: {
text: 'Population density by country (/km²)'
},
mapNavigation: {
enabled: true
},
legend: {
title: {
text: 'Individuals per km²',
style: {
color: (Highcharts.theme && Highcharts.theme.textColor) || 'black'
}
},
align: 'left',
verticalAlign: 'bottom',
floating: true,
layout: 'vertical',
valueDecimals: 0,
backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || 'rgba(255, 255, 255, 0.85)',
symbolRadius: 0,
symbolHeight: 14
},
colorAxis: {
dataClasses: [{
to: 3
...