我有一系列的高温和低温,我想在Highcharts的列范围图表中显示。
我特别想要一个类似于演示示例中显示的图表:http://www.highcharts.com/stock/demo/columnrange
我已将数据放在名为datatest.json的文件中,它包含以下文本:
[
[1230771600000, -5.8, 10.1],
[1230858000000, -4.1, 1.4],
[1230944400000, -0.5, 4.1],
[1231030800000, -8.9, -0.7],
[1231117200000, -9.7, -3.7],
[1231203600000, -3.4, 3.2],
[1231290000000, -3.9, -0.2],
[1231376400000, -2.4, 6.7],
[1231462800000, 3.8, 6.9],
[1262221200000, -12.2, -6.5]
]
当我从文件中加载数据时,它并没有给我一个图表。例如,有了这个:
$(function () {
$.getJSON('data/datatest.json', function (data) {
$('#container').highcharts('StockChart', {
chart: {
type: 'columnrange'
},
rangeSelector: {
selected: 2
},
title: {
text: 'Temperature variation by day'
},
tooltip: {
valueSuffix: '°C'
},
series: [{
name: 'Temperatures',
data: data
}]
});
});
});
但是,如果我将数据直接放入我的代码中(如下所示),它会按照我的预期显示图表:
$(function () {
$('#container').highcharts('StockChart', {
chart: {
type: 'columnrange'
},
rangeSelector: {
selected: 2
},
title: {
text: 'Temperature variation by day'
},
tooltip: {
valueSuffix: '°C'
},
series: [{
name: 'Temperatures',
data: [
[1230771600000, -5.8, 10.1],
[1230858000000, -4.1, 1.4],
[1230944400000, -0.5, 4.1],
[1231030800000, -8.9, -0.7],
[1231117200000, -9.7, -3.7],
[1231203600000, -3.4, 3.2],
[1231290000000, -3.9, -0.2],
[1231376400000, -2.4, 6.7],
[1231462800000, 3.8, 6.9],
[1262221200000, -12.2, -6.5]
]
}]
});
});
我认为我要么在数据文件中错误地格式化数据,要么我没有以正确的方式从文件中读取数据。
非常感谢任何帮助我走上正确轨道的建议或指导。
答案 0 :(得分:0)
感谢@SebastianBochan引导我注意我的JSON无效。
以下是正确格式化JSON的缩写剪辑:
{
"data":
[
[1420640460000,36.7,37.25],
[1420640520000,37.19,37.74],
[1420640580000,37.74,38.6],
[1420640640000,38.72,39.33],
[1420640700000,39.33,39.51]
]
}
我使用了JSON验证器:http://jsonformatter.curiousconcept.com/
我是否打电话给它"数据"这并不重要。或者"温度"它只需要一个字符串,然后当我引用它时,我需要确保将其引用为data.data。如果我打电话给它"温度"然后它将是data.temperature。在任何情况下,这里都是代码:
series: [{
data: data.data
}]