1
我试图用JSON文件Highchartjs将不会加载
HTML创建两个图表:
<div id="chart-0" class="chart-box"></div>
<div id="chart-1" class="chart-box"></div>
JS:
$(function() {
Highcharts.setOptions({
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
dataLabels: {
enabled: true,
format: '<b>{point.name}</b> <br>({point.percentage:.1f} %)'
}
}
}
});
$.getJSON('https://api.myjson.com/bins/16jm21', function(data) {
$.each(data, function(key, val) {
var options = {
chart: {
renderTo: 'chart-' + key
},
title: {
text: val.name
},
series: [{
name: val.series.name,
innerSize: '60%',
data: [val.series.data]
}]
}
console.log(val.series.data)
var chart = new Highcharts.Chart(options);
});
});
});
JSON:
[{"name":"Projeto 1","series":{"name":"Status","innerSize":"60%","data":[{"name":"Andamento","y":"60","color":"#DDDF00"},{"name":"Concluído","y":"19.2","color":"#3498DB"},{"name":"Atrasado","y":"10.8"},{"name":"Outro","y":"6.5"},{"name":"Outro 2","y":"3.5"}]}},{"name":"Projeto 2","series":{"name":"Status 2","innerSize":"60%","data":[{"name":"Andamento","y":"60","color":"#DDDF00"},{"name":"Concluído","y":"19.2","color":"#3498DB"},{"name":"Atrasado","y":"10.8"},{"name":"Outro","y":"6.5"},{"name":"Outro 2","y":"3.5"}]}}]
这个json文件有两个图表的数据。在我尝试通过将val.series.data
传入options.series.data
来推送数据之前,一切似乎都很好。图表加载但它被破坏,它似乎不正确地推val.series.data
,它不会在控制台中引发任何错误。我不知道自己做错了什么,但看起来我错过了一些非常简单的事情。
一些帮助,将不胜感激。
这里的jsfiddle:https://jsfiddle.net/9bor1od3/