Был у меня код - он особо не работал. Написал им в тп(потому что, мне казалось, что должно работать) и они дали ответ -
1) if you want to go with streaming on basic charts you need to study how mapping and data sets work: https://playground.anychart.com/kOeAbxwO
In this sample we commented the fetch part - you have to figure it out yourself, but if it works properly - everything else should work too.
Data sets and mapping info: https://docs.anychart.com/Working_with_Data/Data_Sets https://docs.anychart.com/Working_with_Data/Data_M...
2) if you want to go with AnyStock - it is pretty similar but different: https://playground.anychart.com/kOeAbxwO/3
Stock charts work with time based table: https://docs.anychart.com/Working_with_Data/Table_...
Открыв первую ссылку и почитав, что пишут в остальных, я понял, что нужно слегка переделать код (на такой, какой он впервой ссылке). Я переделал и вот, что получилось -
async function requestAndTreatment() {
const response = await fetch(requestURL);
const res = await response.json();
console.log(res);
//Получаем дату с апишки
let time = res.timestamp;
let date = new Date(time);
//Получаем цены с апишки
let open = res.data[0].open;
let high = res.data[0].high;
let low = res.data[0].low;
let close = res.data[0].close;
//Переводим миллисекунды в год, месяц...
let year = date.getFullYear();
let month = date.getMonth();
let day = date.getDate();
let hours = date.getHours();
let minutes = date.getMinutes();
//Добавляем "0" перед цифрой, если в месяце цифра, а не число
if (month < 10) {
month = "0" + month;
}
//заполняет массив информацией.
data.addData([[Date.UTC(year, month, day), open, high, low, close]]);
console.log(data);
}
let data = anychart.data.table(0);
anychart.onDocumentReady(function () {
// create a chart
chart = anychart.stock();
mapping = data.mapAs({open: 1, high: 2, low: 3, close: 4});
// create a japanese candlestick series and set the data
var series = chart.plot(0).candlestick(mapping);
// set container id
chart.container("container");
// initiate drawing the chart
chart.draw();
setInterval(requestAndTreatment, 1000);
})
Но консоль ругается, говорит -
anychart.data.table is not a function
Скорее всего, я как-то не верно переписал код, но, что именно не так, не могу понять. Помогите пожалуйста, понять, в чем ошибка.