【发布时间】:2013-06-06 17:04:05
【问题描述】:
我尝试了这种编码,但我在图中没有得到任何线条,请告诉我我哪里错了。
$(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
我不知道我哪里出错了,请给我建议我应该怎么做才能在我的图表中得到这条线。
提前致谢,期待您的帮助。
【问题讨论】:
-
您是否尝试提供少量数据?
-
您是否在控制台中看到任何错误消息?您能否确认
.get确实返回了数据并且调用了回调? -
我只是尝试了少量数据,它适用于那个,但我将如何让它适用于大文件@tracevipin
-
是的,它显示的日期无效并且其中没有行@MattBurland
-
另一件事,当我尝试少量数据时,它显示错误的日期@tracevipin
标签: javascript jquery parsing csv highcharts