花了一个多小时来查看有关海图的教程以及此处的帖子,我无法获得数据链接。我有一个非常简单的MYSQL请求来获取日期和值,如下所示:
“ userChart”:[{“ eDate”:“ 2015-02-03”,“ usLevel”:“ 2”},{“ eDate”:“ 2015-03-11”,“ usLevel”:“ 5”},{ “ eDate”:“ 2015-03-25”,“ usLevel”:“ 8”}]
这是我使用的代码,基于此处的另一篇文章:
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);
JSfiddle