我有以下 JSON,我试图将其用于 highcharts 图表。目前,我在图表(数据)中没有得到任何输出,尽管我确实在图例中看到了所有四个“问题”。
[
{
"name": "Question 1",
"data": [
"1391981824000, 2",
"1391981874000, 2",
"1391981966000, 4",
"1391982000000, 1"
]
},
{
"name": "Question 2",
"data": [
"1391981830000, 3",
"1391981878000, 4",
"1391981971000, 2",
"1391982005000, 2"
]
},
{
"name": "Question 3",
"data": [
"1391981837000, 1",
"1391981885000, 1",
"1391981977000, 1",
"1391982010000, 3"
]
},
{
"name": "Question 4",
"data": [
"1391981842000, 4",
"1391981898000, 3",
"1391981982000, 3",
"1391982015000, 4"
]
}
]
以及图表的 javascript:
$(function () {
var chart;
$(document).ready(function() {
$.getJSON("mysql/getChartData.php?sd=2012-02-09%2015:36:42&ed=2016-02-09%2016:37:39", function(json) {
chart = new Highcharts.Chart({
chart: {
renderTo: 'custom-range-line',
type: 'line'
},
xAxis: {
type: 'datetime'
},
title: {
text: 'Custom Date Range',
x: -20
},
subtitle: {
text: '',
x: -20
},
yAxis: {
title: {
text: 'Number of Ratings'
}
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
this.x +': '+ this.y;
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 2
},
series: json
});
});
});
});
我做错了什么/为什么这不起作用?我找到了大量关于如何执行此操作的示例,但没有一个完全符合我的需要。如果我还可以展示其他内容,请告诉我。
最佳答案
您的数据需要是一个元组数组,如下所示:对于 UNIX 时间戳,它们需要是数字,目前您将它们作为字符串。看起来您已经正确地将 UNIX 时间戳 * 1000 相乘才能在 JavaScript 中工作。请确保 options.data
的值是一个数组,因此您可以向其中添加更多组。首先尝试使用一个,然后逐渐增加它,以便您能够习惯 HighCharts API。
var options = {
"data": {[
[1391981824000, 2],
[1391981874000, 2],
[1391981966000, 4],
[1391982000000, 3],
]}
}
关于javascript - 需要一些有关 Highcharts JSON 格式的指示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21841245/