У меня следующий код: http://jsfiddle.net/maniator/vTjW8/
var createChartTemplate = function() {
return {
chart: new Highcharts.StockChart({
chart: {
renderTo: 'container'
},
series: []
}),
addSeries: function(name) {
this.chart.addSeries({
name: name,
data: [],
id: Math.floor(Math.random()*1000)
});
},
addPoint: function(data, series) {
var seriesIndex = this.seriesExists(series);
if (!(seriesIndex === false)) {
this.chart.series[seriesIndex].addPoint(data, false);
}
this.chart.redraw();
},
seriesExists: function(series) {
var seriesIndex = false;
$.each(this.chart.series, function(index, item) {
if ($.trim(item.name) == $.trim(series)) {
seriesIndex = index;
return false;
}
});
return seriesIndex;
}
}
}
$(function() {
var data = usdeur.splice(0, 700);
var chart = createChartTemplate();
chart.addSeries("New Series");
for (var i = 0; i < data.length; i++) {
chart.addPoint(data[i], "New Series");
}
});
В консоли следующая ошибка:
Uncaught TypeError: Cannot read property 'options' of undefined
Этот код работает нормально, если это обычный график Highchart, но по какой-то причине он не работает с графиком HighStock.
Как сделать так, чтобы он работал с тем типом графика, который мне нужен?
Я придумал, как получить 1-ю серию динамически, но затем, когда я пытаюсь добавить вторую серию, возникает ошибка:
Uncaught TypeError: Cannot read property 'stacks' of undefined