0

我尝试了这种编码,但我在图中没有得到任何线条,请告诉我我错在哪里。

$(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

我不知道我哪里出错了,请给我建议我应该怎么做才能在我的图表中得到这条线。

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

4

1 回答 1

0

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

                                    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]));
于 2013-06-07T13:44:49.440 回答