带有data.csv的Highstock从01.01.1970开始

我已经开始尝试使用Highstock图表来可视化我的光伏数据。 问题是,图表从01-01-1970 00:00:00开始。 它忽略了我的csv文件中的日期和时间。

此代码与此处的一些示例相同,但它不起作用。

我的data.csv

2011-08-01 00:00:00,155
2011-08-02 00:00:00,156
2011-08-03 00:00:00,157
2011-08-03 00:06:00,160
2011-08-04 00:00:00,120

我的index.html

$(document).ready(function() { var c = []; var d = []; var options = { chart: { renderTo: 'content', defaultSeriesType: 'line' }, xAxis: { title: { text: 'Datum' }, type: 'datetime', categories: c }, yAxis: { title: { text: 'Stromertrag [wH]' } }, series: [{ data: d, }] }; var jqxhr = $.get('../data/data.csv', function(data) { var lines = data.split('\n'); $.each(lines, function(lineNo, line) { var items = line.split(','); c.push(items[0]); d.push(parseInt(items[1])); }) var chart = new Highcharts.StockChart(options); }); }); 

如果您有定期间隔的数据,那么您可以使用数据系列的pointStartpointInterval属性,请参阅Highcharts文档中的此示例:

 plotOptions: { series: { pointStart: Date.UTC(2010, 0, 1), pointInterval: 24 * 3600 * 1000 // one day } }, 

http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/plotoptions/series-pointstart-datetime/

由于您的间隔看起来不规则,您需要将时间戳转换为unix /纪元时间 (毫秒)并将其与数据一起传递。

Highcharts使用时间戳(以毫秒为单位的时间),因此您可以在JSON中使用pointStart / pointInterval或将miliseconds设置为x值,或使用Date.UTC()函数返回正确的数据。

数据应按x递增排序