Javascript Highcharts错误#15:www.Highcharts.com/errors/15
我正试图使用雅虎财经数据生成一个像这样的高图表烛台图表。但我一直在犯这样的错误: 高位图表错误#15 Highcharts希望对数据进行排序 当您试图创建数据未按升序X排序的直线系列或股票图表时,会发生这种情况。出于性能原因,Highcharts不会对数据进行排序,而是要求实现者对数据进行预排序 我的代码如下Javascript Highcharts错误#15:www.Highcharts.com/errors/15,javascript,highcharts,Javascript,Highcharts,我正试图使用雅虎财经数据生成一个像这样的高图表烛台图表。但我一直在犯这样的错误: 高位图表错误#15 Highcharts希望对数据进行排序 当您试图创建数据未按升序X排序的直线系列或股票图表时,会发生这种情况。出于性能原因,Highcharts不会对数据进行排序,而是要求实现者对数据进行预排序 我的代码如下 $(function () { $.getJSON('http://websitescraper.heroku.com/?url=http://ichart.finance.y
$(function () {
$.getJSON('http://websitescraper.heroku.com/?url=http://ichart.finance.yahoo.com/table.csv?s=000338.sz&callback=?', function (csvdata) {
//console.log(csvdata);
var arr = csvdata.split('\n').slice(1);
var data = [];
for (var i = arr.length-1; i >= 0; --i) {
//console.log(arr[i]);
var line = arr[i].split(',');
line[0] = Date.parse(line[0]);
line = $.map(line, function(v) {
return parseFloat(v);
});
line = line.slice(0,6);
//var j = JSON.stringify(line.slice(0,0+6));
console.log(line);
data.push(line);
}
data = JSON.stringify(data.slice(1));
console.log(data);
run(data);
});
});
function run(data) {
// split the data set into ohlc and volume
var ohlc = [],
volume = [],
dataLength = data.length,
// set the allowed units for data grouping
/*groupingUnits = [[
'week', // unit name
[1] // allowed multiples
], [
'month',
[1, 2, 3, 4, 6]
]],*/
i = 0;
for (i; i < dataLength; i += 1) {
ohlc.push([
data[i][0], // the date
data[i][1], // open
data[i][2], // high
data[i][3], // low
data[i][4] // close
]);
volume.push([
data[i][0], // the date
data[i][5] // the volume
]);
}
// create the chart
$('#container2').highcharts('StockChart', {
rangeSelector: {
selected: 1
},
title: {
text: 'Shanghai Composite Index Historical'
},
yAxis: [{
labels: {
align: 'right',
x: -3
},
title: {
text: 'OHLC'
},
height: '60%',
lineWidth: 2
}, {
labels: {
align: 'right',
x: -3
},
title: {
text: 'Volume'
},
top: '65%',
height: '35%',
offset: 0,
lineWidth: 2
}],
series: [{
type: 'candlestick',
upLineColor: 'red',
downLineColor: 'green',
name: 'SSE',
data: ohlc,
/*dataGrouping: {
units: groupingUnits
}*/
}, {
type: 'column',
name: 'Volume',
data: volume,
yAxis: 1
/*dataGrouping: {
units: groupingUnits
}*/
}]
});
}
$(函数(){
$.getJSON('http://websitescraper.heroku.com/?url=http://ichart.finance.yahoo.com/table.csv?s=000338.sz&callback=?,函数(csvdata){
//console.log(csvdata);
var arr=csvdata.split('\n').slice(1);
var数据=[];
对于(变量i=arr.length-1;i>=0;--i){
//控制台日志(arr[i]);
var line=arr[i]。拆分(',');
第[0]行=Date.parse(第[0]行);
行=$.map(行,函数(v){
返回浮点数(v);
});
直线=直线切片(0,6);
//var j=JSON.stringify(line.slice(0,0+6));
控制台日志(行);
数据推送(行);
}
data=JSON.stringify(data.slice(1));
控制台日志(数据);
运行(数据);
});
});
函数运行(数据){
//将数据集拆分为ohlc和卷
var ohlc=[],
卷=[],
dataLength=data.length,
//设置允许的数据分组单位
/*分组单元=[[
'周',//单位名称
[1] //允许的倍数
], [
“月”,
[1, 2, 3, 4, 6]
]],*/
i=0;
对于(i;i
有人能帮忙吗?非常感谢 问题在于
data=JSON.stringify(data.slice(1))代码>
。它将数组转换为字符串,因此无法识别它。删除JSON.stringify
,它将正常工作:
data = data.slice(1);
这是您的名片。非常感谢您!这让我很开心!