Highcharts addSeries没有显示行

时间:2015-09-02 20:27:38

标签: javascript highcharts

对于我的图表数据源,我正在调用Web服务,将响应解析为数组,然后尝试在addSeries中使用该数组。数据确实会添加到我的图表中,而不是折线图,它只显示点和标签(尽管数据系列设置在' line')。我很好奇为什么这条线没有被渲染。

以下是从我的网络服务返回的数据示例。

Time,Summary
9/2/2015 12:00:00 AM,209
9/2/2015 12:15:00 AM,207
9/2/2015 12:30:00 AM,196
9/2/2015 12:45:00 AM,200
9/2/2015 1:00:00 AM,202
9/2/2015 1:15:00 AM,208
9/2/2015 1:30:00 AM,208
9/2/2015 1:45:00 AM,206
9/2/2015 2:00:00 AM,211
9/2/2015 2:15:00 AM,220
9/2/2015 2:30:00 AM,203
9/2/2015 2:45:00 AM,202
9/2/2015 3:00:00 AM,210
9/2/2015 3:15:00 AM,205
9/2/2015 3:30:00 AM,209
9/2/2015 3:45:00 AM,207
9/2/2015 4:00:00 AM,210
9/2/2015 4:15:00 AM,198
9/2/2015 4:30:00 AM,210
9/2/2015 4:45:00 AM,205
9/2/2015 5:00:00 AM,212
9/2/2015 5:15:00 AM,203
9/2/2015 5:30:00 AM,197
9/2/2015 5:45:00 AM,203
9/2/2015 6:00:00 AM,211
9/2/2015 6:15:00 AM,256
9/2/2015 6:30:00 AM,235
9/2/2015 6:45:00 AM,214
9/2/2015 7:00:00 AM,201
9/2/2015 7:15:00 AM,205
9/2/2015 7:30:00 AM,198
9/2/2015 7:45:00 AM,215
9/2/2015 8:00:00 AM,195
9/2/2015 8:15:00 AM,197
9/2/2015 8:30:00 AM,195
9/2/2015 8:45:00 AM,191
9/2/2015 9:00:00 AM,203
9/2/2015 9:15:00 AM,211

我在这里调用Web服务并解析csv数据。

var dataSeries = [];
$.get('GetMyData',{}, function (csv) {
                var lines = csv.split('\n');
                $.each(lines, function (lineNo, line) {
                    var items = line.split(',');
                    if (lineNo !== 0) {
                        var x = +new Date(items[0]),
                        summary = parseInt(items[1]);
                        dataSeries.push([x, summary]);
                    }
                });

这是我设置和渲染图表的地方。

var options = { 
                chart: {
                       backgroundColor: '#f6f6f6',
                       renderTo: 'chart' + chartNum
                       },
                xAxis: {
                        title: {
                            text: 'Hour'
                        },
                        type: 'datetime',
                        dateTimeLabelFormats: {
                            day: '%b %e %l:%M %P',
                            hour: '%l:%M %P'
                        },                    
                    },
                yAxis: {
                        title: {
                            text: 'Average Whatever'
                        },
                        min: 0,
                 },
                 plotOptions: {
                        series: {
                            dataLabels: {
                                enabled: true
                            }
                        }
                    },
                    series: []
            };
var chart = new Highcharts.Chart(options);
                chart.addSeries({
                    name: 'Summaries',       
                    data: dataSeries,
                    type: 'line',
                    marker: { enabled: true }
                    });

我的图表最终看起来像这样:

enter image description here

1 个答案:

答案 0 :(得分:0)

问题是Web服务返回的数据末尾有换行符。我添加了一个检查空行的条件,一切都很顺利。

if ((lineNo !== 0)&&(line != "")) {
..parse data into array
}