为什么我没有在图表中排队?

时间:2013-06-06 17:04:06

标签: javascript jquery parsing csv highcharts

我尝试了这个编码,但我没有在图表中找到任何一行,请告诉我我错在哪里。

$(document).ready(function() {
var options = {
                chart: {
                    renderTo:'container',
                    zoomType:'xy'
                },
                title: {
                    text: 'Oviedo hoy'
                },

                subtitle: {
                                text: 'datos:'
                            },

                xAxis:{
                        labels:{

                            formatter:function(){

                                return Highcharts.dateFormat('%H:%M:%S',this.value);
                            }
                  }
                },
                series: []
            };


$.get('data.csv', function(data) {
                // Split the lines

                options.series.push({
                    data:[]
                });

                var tmptimestamp = '';

                var lines = data.split('\n');
                    $.each(lines, function(lineNo, line) {
                        var items = line.split(',');
                        // header line containes categories
                        if (lineNo > 0 )
                        {


                              //parsing
                                     var datestamp = items[0].split(' '),
                                         date = datestamp[0].split('/'),
                                         time = datestamp[1].split(':'),
                                         timestamp = Date.UTC(parseFloat(date[2]),
                      parseFloat(date[1]),parseFloat(date[0]),parseFloat(time[0]),
                      parseFloat(time[1]),parseFloat(time[2]));


                                    if(tmptimestamp != timestamp)
                                    {
                                        options.series[0].data.push({
                                            x:timestamp,
                                            y:parseFloat(items[5]) 
                                        });

                                        tmptimestamp = timestamp; 
                                    }

                        }
                    });


                    var chart = new Highcharts.StockChart(options,function(chart){
                        console.log(chart);
                    });
                });
     });

这是我的csv的一小部分,但实际文件真的很长,像18,000行和17列。

                Time            Tcoll   Tstor   TglyHXin
      01/01/2013 12:00:54 AM    103.34  103.32  26.94
      01/01/2013 12:01:55 AM    103.29  103.3   26.94
      01/01/2013 12:02:55 AM    103.29  103.33  26.95
      01/01/2013 12:03:55 AM    103.29  103.03  26.94
      01/01/2013 12:04:55 AM    103.34  103.27  26.94
      01/01/2013 12:05:55 AM    103.39  103.33  26.94
      01/01/2013 12:06:55 AM    103.3   103.01  26.94
      01/01/2013 12:07:55 AM    103.42  103.17  26.94
      01/01/2013 12:08:55 AM    103.37  103.16  26.94
      01/01/2013 12:09:55 AM    103.34  103.28  26.94

我不知道我哪里出错了。请告诉我如何在图表中找到该行。

提前致谢,期待您的帮助。

1 个答案:

答案 0 :(得分:0)

turboThreshold设置为更高的值(请参阅docs)或更改为:

                                    options.series[0].data.push({
                                        x:timestamp,
                                        y:parseFloat(items[5]) 
                                    });

为:

                                    options.series[0].data.push([
                                        timestamp,
                                        parseFloat(items[5]) 
                                    ]);

关于错误的日期: 月份从0开始,而不是从1开始,所以更改:

timestamp = Date.UTC(parseFloat(date[2]),
                  parseFloat(date[1]),parseFloat(date[0]),parseFloat(time[0]),
                  parseFloat(time[1]),parseFloat(time[2]));

为:

timestamp = Date.UTC(parseFloat(date[2]),
                  parseFloat(date[1]) - 1,parseFloat(date[0]),parseFloat(time[0]),
                  parseFloat(time[1]),parseFloat(time[2]));