Highcharts/highstocks Javascript 来自 CSV 文件
Highcharts/highstocks Javascript from CSV file
我想要一个可以从 CSV 文件中绘制多个流的 highstocks 图表。我的 csv 数据如下所示:
TIMESTAMP,DATA
2013-07-25 17:52:13.490,98425702
2013-07-25 17:52:34.840,382307
2013-07-25 17:52:55.900,380769
2013-07-25 17:54:37.380,500000
2013-07-25 17:54:47.910,98360155
2013-07-25 17:54:58.440,430000
2013-07-25 17:55:08.970,282307
2013-07-26 19:46:30.950,116923
Javascript 在我的 index.html:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://code.highcharts.com/stock/highstock.js"></script>
<script type="text/javascript" src="http://code.highcharts.com/modules/data.js"></script>
<script type="text/javascript">
// Create the chart
$(function() {
var magx = [];
$.get('magx-11.csv', function(csv1) {
var lines = csv1.split('\n');
for (i=0; i<lines.length; i++) {
var elements = lines.split(',');
for (j=0; j<lines.length; j++) {
magx.push([ elements[j] ])
}
}
console.log(magx);
});
$('#container').highcharts('StockChart', {
xAxis: {
type: 'datetime'
},
title: {
text: 'Data'
},
series: [{
name: 'Mag X',
data: magx,
}]
});
});
</script>
有:
<body>
<div id="container" style="width: 1200px; height: 400px; margin: 0 auto"</div>
</body>
所以,我首先尝试弄清楚我需要如何解析数据。我已经看到关于拆分新行的各种参考,然后是 ',' 分隔符。但是从日志输出来看,我认为数据没有被传递到下一个函数,我希望得到一些帮助。
这也没什么影响:
magx.push([ parseFloat(elements[j])
我也希望能够为多个 csv 文件扩展它。
(我暂时忽略那里不正确的日期时间处理)。
我已经看过:Reading data from CSV with highstock and Highchart from CSV file with JavaScript。非常感谢!
技巧是研究 JSON 格式,然后是 Data.parse() 格式。文档嗯?
还有“Highcharts 错误 #15:http://www.highcharts.com/errors/15
highstock.js:13:195"。我的数据是按日期排序的,这还不够好吗?
现在需要将其转换为每个图表的多个 csv。
$(function() {
var magx = [];
$.get('stuff.csv', function(csv1) {
var lines = csv1.split('\n');
$.each(lines, function(lineNo, line) {
var items = line.split(',');
if(lineNo > 0) {
var ds1 = items[0].split(' ');
magx.push( [ Date.parse(ds1[0] + "T" + ds1[1]) , parseFloat(items[1]) ] );
};
});
var options = {
xAxis: {
type: 'datetime'
},
exporting: {
enabled: true
},
series: [{
name: 'Data 1',
data: magx
}]
};
var chart = $('#container').highcharts('StockChart', options);
});
});
我想要一个可以从 CSV 文件中绘制多个流的 highstocks 图表。我的 csv 数据如下所示:
TIMESTAMP,DATA
2013-07-25 17:52:13.490,98425702
2013-07-25 17:52:34.840,382307
2013-07-25 17:52:55.900,380769
2013-07-25 17:54:37.380,500000
2013-07-25 17:54:47.910,98360155
2013-07-25 17:54:58.440,430000
2013-07-25 17:55:08.970,282307
2013-07-26 19:46:30.950,116923
Javascript 在我的 index.html:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://code.highcharts.com/stock/highstock.js"></script>
<script type="text/javascript" src="http://code.highcharts.com/modules/data.js"></script>
<script type="text/javascript">
// Create the chart
$(function() {
var magx = [];
$.get('magx-11.csv', function(csv1) {
var lines = csv1.split('\n');
for (i=0; i<lines.length; i++) {
var elements = lines.split(',');
for (j=0; j<lines.length; j++) {
magx.push([ elements[j] ])
}
}
console.log(magx);
});
$('#container').highcharts('StockChart', {
xAxis: {
type: 'datetime'
},
title: {
text: 'Data'
},
series: [{
name: 'Mag X',
data: magx,
}]
});
});
</script>
有:
<body>
<div id="container" style="width: 1200px; height: 400px; margin: 0 auto"</div>
</body>
所以,我首先尝试弄清楚我需要如何解析数据。我已经看到关于拆分新行的各种参考,然后是 ',' 分隔符。但是从日志输出来看,我认为数据没有被传递到下一个函数,我希望得到一些帮助。
这也没什么影响:
magx.push([ parseFloat(elements[j])
我也希望能够为多个 csv 文件扩展它。
(我暂时忽略那里不正确的日期时间处理)。
我已经看过:Reading data from CSV with highstock and Highchart from CSV file with JavaScript。非常感谢!
技巧是研究 JSON 格式,然后是 Data.parse() 格式。文档嗯?
还有“Highcharts 错误 #15:http://www.highcharts.com/errors/15 highstock.js:13:195"。我的数据是按日期排序的,这还不够好吗?
现在需要将其转换为每个图表的多个 csv。
$(function() {
var magx = [];
$.get('stuff.csv', function(csv1) {
var lines = csv1.split('\n');
$.each(lines, function(lineNo, line) {
var items = line.split(',');
if(lineNo > 0) {
var ds1 = items[0].split(' ');
magx.push( [ Date.parse(ds1[0] + "T" + ds1[1]) , parseFloat(items[1]) ] );
};
});
var options = {
xAxis: {
type: 'datetime'
},
exporting: {
enabled: true
},
series: [{
name: 'Data 1',
data: magx
}]
};
var chart = $('#container').highcharts('StockChart', options);
});
});