Reputation: 1802
I am trying to get chart data from json file. Using it fist time so keeping it copied from high chart documentation. But it is not working.
Json:
[
{ "name" : "Asia", "data" :[4502, 635, 809, 947, 1402, 3634, 5268] },
{ "name" : "Africa", "data" : [106, 107, 111, 133, 221, 767, 1766] },
{ "name" : "Europe", "data" : [163, 203, 276, 408, 547, 729, 628] },
{ "name" : "America", "data" : [18, 31, 54, 156, 339, 818, 1201] },
{"name" : "Oceania", "data" : [2, 2, 2, 6, 13, 30, 46] }
]
Script:
<script>
$(function () {
var options = {
chart: {
renderTo: 'container',
type: 'spline'
},
title: {
text: 'Historic and Estimated Worldwide Population Growth by Region'
},
subtitle: {
text: 'Source: Wikipedia.org'
},
xAxis: {
categories: ['1750', '1800', '1850', '1900', '1950', '1999', '2050'],
tickmarkPlacement: 'on',
title: {
enabled: false
}
},
yAxis: {
title: {
text: 'Billions'
},
labels: {
formatter: function () {
return this.value / 1000;
}
}
},
tooltip: {
shared: true,
valueSuffix: ' millions'
},
plotOptions: {
area: {
stacking: 'normal',
lineColor: '#666666',
lineWidth: 1,
marker: {
lineWidth: 1,
lineColor: '#666666'
}
}
},
series: [{}]
};
$.getJSON('http://s000.tinyupload.com/?file_id=46814948573049842058', function(data) {
options.series[0].data = data;
var chart = new Highcharts.Chart(options);
});
})
</script>
Console doesn't shows any error. Could any one see what is the issue with the code.
Upvotes: 0
Views: 395
Reputation: 173
I can't emulate you code from my work, but, this should fix it:
If you decide to receive it as a string anyway, do this step:
Example
var string = '['+
'{ "name" : "Asia", "data" :[4502, 635, 809, 947, 1402, 3634, 5268] },'+
'{ "name" : "Africa", "data" : [106, 107, 111, 133, 221, 767, 1766] },'+
'{ "name" : "Europe", "data" : [163, 203, 276, 408, 547, 729, 628] },'+
'{ "name" : "America", "data" : [18, 31, 54, 156, 339, 818, 1201] },'+
'{"name" : "Oceania", "data" : [2, 2, 2, 6, 13, 30, 46] }'+
']';
var yourDataObject = eval(string);
PS: I thought the right way to load the data it is:
options.series = data;
Upvotes: 2