highcharts 2 变量 JSON(日期、值)未正确显示
highcharts 2 variable JSON (Date, Value) not showing correctly
花了一个多小时查看 highcharts 以及此处 post 上的教程,我无法获取数据链接。我有一个非常简单的 MYSQL 请求来获取日期和值如下所示:
"userChart":[{"eDate":"2015-02-03","usLevel":"2"},{"eDate":"2015-03-11","usLevel":"5"},{"eDate":"2015-03-25","usLevel":"8"}]
这是我正在使用的代码,基于此处的另一个 post:
var chart;
var options = {
chart: {
type: 'line'
},
title: {
x: -20 //center
},
subtitle: {
text: '',
x: -20
},
xAxis: {
categories: []
},
yAxis: {
title: {
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: []
}
// and create the chart
// chart 1
options.chart.renderTo = 'container';
options.title.text = 'Historical Data';
options.yAxis.title.text = 'Stage';
// push the data to the series
$.each(data, function(key, va) {
options.xAxis.categories = va[0];
options.series.push(parseFloat(va[1]));
})
// create the first chart
chart = new Highcharts.Chart(options);
这是输出:
我很困惑,这本来很简单,但我就是不明白。如果有人能指出我哪里出错了,我将不胜感激。
谢谢
更新:
console.log(data)
看起来像这样:
我认为你在使用这段代码时出错了
$.each(data, function(key, va) {
options.xAxis.categories = va[0];
options.series.push(parseFloat(va[1]));
})
我认为 va
在你的例子中是一个对象而不是数组。
尝试使用va
作为对象:
var dataSeries = {data: []};
data.forEach(function (va) {
options.xAxis.categories.push(va.eDate);
dataSeries.data.push(parseFloat(va.usLevel));
})
// And assign the correct format to highcharts series
options.series.push(dataSeries);
花了一个多小时查看 highcharts 以及此处 post 上的教程,我无法获取数据链接。我有一个非常简单的 MYSQL 请求来获取日期和值如下所示:
"userChart":[{"eDate":"2015-02-03","usLevel":"2"},{"eDate":"2015-03-11","usLevel":"5"},{"eDate":"2015-03-25","usLevel":"8"}]
这是我正在使用的代码,基于此处的另一个 post:
var chart;
var options = {
chart: {
type: 'line'
},
title: {
x: -20 //center
},
subtitle: {
text: '',
x: -20
},
xAxis: {
categories: []
},
yAxis: {
title: {
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: []
}
// and create the chart
// chart 1
options.chart.renderTo = 'container';
options.title.text = 'Historical Data';
options.yAxis.title.text = 'Stage';
// push the data to the series
$.each(data, function(key, va) {
options.xAxis.categories = va[0];
options.series.push(parseFloat(va[1]));
})
// create the first chart
chart = new Highcharts.Chart(options);
这是输出:
我很困惑,这本来很简单,但我就是不明白。如果有人能指出我哪里出错了,我将不胜感激。
谢谢
更新:
console.log(data)
看起来像这样:
我认为你在使用这段代码时出错了
$.each(data, function(key, va) {
options.xAxis.categories = va[0];
options.series.push(parseFloat(va[1]));
})
我认为 va
在你的例子中是一个对象而不是数组。
尝试使用va
作为对象:
var dataSeries = {data: []};
data.forEach(function (va) {
options.xAxis.categories.push(va.eDate);
dataSeries.data.push(parseFloat(va.usLevel));
})
// And assign the correct format to highcharts series
options.series.push(dataSeries);