我在显示基本列高清时遇到问题。我的json看起来如下:
[
{
"name":"Target Assigned",
"data":["100000","100000","100000","100000","100000","100000","100000"]
},
{
"name":"Target achieved",
"data":["75000","80000","80000","75000","85000","90000","65000"]
}
]
我想要"数据"要设置为系列数据,为此我写下面的代码,但它没有显示任何东西,
<script>$(document).ready( function () {
var options = {
chart: {
renderTo: 'container',
type: 'column',
marginRight: 130,
marginBottom: 70
},
title: {
text: 'Monthly Target Tracker'
},
subtitle: {
text: 'Source: Database'
},
xAxis: {
categories: [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
]
},
yAxis: {
min: 0,
tickInterval: 5,
title: {
text: 'Rupees (Lakhs)'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y:.1f} Lakh</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{name:'' , data: []},{name:'' , data: []}]
}
$.getJSON("tracktarget.json", function(json) {
//alert(1);
// var jp=JSON.parse(json);
options.series[0].name= json[0].name;
options.series[0].data= [JSON.parse(json[0].data[0])];
options.series[1].name= json[1].name;
options.series[1].data= [JSON.parse(json[1].data[0])];
chart = new Highcharts.Chart(options);
});
});
</script>
此代码设置&#34;名称:&#34;系列元素的名称&#34;名称&#34;我的json中的值,但没有设置数据数组值。
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
检查控制台是否有错误。在你的情况下,你得到:
Uncaught Highcharts error #19: www.highcharts.com/errors/19
太多滴答
当您尝试对轴应用太多刻度时会发生此错误, 特别是当您添加比轴像素长度更多的刻度时。在 实践中,添加如此密集的蜱是没有意义的 无法彼此区分。错误的一个原因可能是 您设置的tickInterval对于数据值来说太小了 范围。通常,tickPixelInterval是一个更好的选择,因为它会 自动处理。另一种情况是你尝试设置 日期时间轴上的类别,这将导致Highcharts尝试 自1970年以来每毫秒添加一个刻度。
果然,你设置了tickInterval: 5
,这意味着在yaxis上每隔5个勾选一次,超过100,000!
如果你注释掉你的代码就行了。虽然我对这条线很困惑:
options.series[0].data= [JSON.parse(json[0].data[0])];
这意味着您只将系列设置为第一个数据点。我原以为你想要整个数据系列。 但是你还有另外一个问题:
"data":["100000","100000","100000","100000","100000","100000","100000"]
这些数字是字符串(这就是为什么你有奇怪的JSON.parse
将它们强制转换为数字)。真的,你应该修复你的json以返回数组而不是字符串。