Jquery Highstock with data.csv从1970年1月1日开始
我已经开始尝试使用Highstock图表来可视化我的光伏数据。 问题是,图表以01-01-1970 00:00:00开始。 它会忽略我的csv文件中的日期和时间 此代码与此处的一些示例相同,但不起作用 我的数据.csv 2011-08-01 00:00:00155Jquery Highstock with data.csv从1970年1月1日开始,jquery,csv,highcharts,highstock,Jquery,Csv,Highcharts,Highstock,我已经开始尝试使用Highstock图表来可视化我的光伏数据。 问题是,图表以01-01-1970 00:00:00开始。 它会忽略我的csv文件中的日期和时间 此代码与此处的一些示例相同,但不起作用 我的数据.csv 2011-08-01 00:00:00155 2011-08-02 00:00:00156 2011-08-03 00:00:00157 2011-08-03 00:06:00160 2011-08-04 00:00:00120 My index.html $(document)
2011-08-02 00:00:00156
2011-08-03 00:00:00157
2011-08-03 00:06:00160
2011-08-04 00:00:00120
My 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);
});
});
如果您有规则间隔的数据,那么您可以利用数据系列的
点开始
和点间隔
属性,请参见Highcharts文档中的此示例:
plotOptions: {
series: {
pointStart: Date.UTC(2010, 0, 1),
pointInterval: 24 * 3600 * 1000 // one day
}
},
由于时间间隔看起来不规则,您需要将时间戳转换为(毫秒),并将其与数据一起传递。Highcharts使用时间戳(时间单位为毫秒),因此您可以使用pointStart/pointInterval或在JSON中将毫秒设置为x值,或使用Date.UTC()函数返回正确的数据
数据应按x升序排序请以毫秒为单位给出时间戳中的日期,而不是日期。海图接受这种格式