Первоначально я загружаю график в режиме Подсвечник .
Затем при нажатии кнопки изменяется его на режим line .
ОбаДанные свечного и линейного графика имеют разные точки данных
candlestick = [[datetime, open, high, low, close], ....]
line = [[datetime, close], ....]
При нажатии кнопки
if (requiredType == "candlestick") {
chart.series[seriesindex].update({
type: "candlestick",
keys: ['x', 'open', 'high', 'low', 'close'],
data: candlestick,
}, true);
} else if (requiredType == "line") {
chart.series[seriesindex].update({
type: "line",
keys: ['x', 'y'],
data: line,
}, true);
}
Изначально график загружается в режиме Подсвечник .При нажатии на кнопку типа изменения происходит сбой, и выдается следующая ошибка:
Uncaught TypeError: Cannot read property 'length' of undefined
at Object.high (highstock.src.js:47746)
at v.ohlc (highstock.src.js:47764)
at v.l (highstock.src.js:47865)
at v.t.processData (highstock.src.js:48205)
at v.F.processData (highstock.src.js:53103)
at highstock.src.js:16601
at Array.forEach (<anonymous>)
at G.setTickInterval (highstock.src.js:16600)
at G.setScale (highstock.src.js:16936)
at highstock.src.js:24043
high @ highstock.src.js:47746
ohlc @ highstock.src.js:47764
l @ highstock.src.js:47865
t.processData @ highstock.src.js:48205
F.processData @ highstock.src.js:53103
(anonymous) @ highstock.src.js:16601
setTickInterval @ highstock.src.js:16600
setScale @ highstock.src.js:16936
(anonymous) @ highstock.src.js:24043
redraw @ highstock.src.js:24041
update @ highstock.src.js:34110
toggleChart @ fno.js:336
(anonymous) @ fno.js:907
dispatch @ jquery.js:4435
r.handle @ jquery.js:4121
Но если изначально я загружаю график в линейном режиме, а затем переключаюсь в режим подсвечника, то это не приведет к сбою, но оставляет график пустым без рисованиячто угодно.
А также, если у меня на графике очень мало точек, например, 10, и график находится в режиме свечи, и я переключаю его в линейный режим, то он работает нормально, но с большим количеством данных, скажем, в режиме, чем500 баллов это не сработает.