Есть статичный вариант графика:
// create data
var data = [
[Date.UTC(2007, 07, 23), 23.55, 23.88, 23.38, 23.62],
[Date.UTC(2007, 07, 24), 22.65, 23.7, 22.65, 23.36],
[Date.UTC(2007, 07, 25), 22.75, 23.7, 22.69, 23.44],
[Date.UTC(2007, 07, 26), 23.2, 23.39, 22.87, 22.92],
[Date.UTC(2007, 07, 27), 23.98, 24.49, 23.47, 23.49],
[Date.UTC(2007, 07, 30), 23.55, 23.88, 23.38, 23.62],
[Date.UTC(2007, 07, 31), 23.88, 23.93, 23.24, 23.25],
[Date.UTC(2007, 08, 01), 23.17, 23.4, 22.85, 23.25],
[Date.UTC(2007, 08, 02), 22.65, 23.7, 22.65, 23.36],
[Date.UTC(2007, 08, 03), 23.2, 23.39, 22.87, 22.92],
[Date.UTC(2007, 08, 06), 23.03, 23.15, 22.44, 22.97],
[Date.UTC(2007, 08, 07), 22.75, 23.7, 22.69, 23.44]
];
// create a chart
chart = anychart.candlestick();
// create a japanese candlestick series and set the data
var series = chart.candlestick(data);
// set the container id
chart.container("container");
// initiate drawing the chart
chart.draw();
Я переписал на свой, динамический график. Данные все приходят исправно, массив заполняется каждый раз, но сам график не рисуется, почему? И как это поправить?
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.push([Date.UTC(year, month, day), open, high, low, close]);
console.log(data);
}
let data = [];
// create a chart
chart = anychart.candlestick();
// create a japanese candlestick series and set the data
var series = chart.candlestick(data);
// set the container id
chart.container("container");
// initiate drawing the chart
chart.draw();
setInterval(requestAndTreatment, 10000);
// request();
//Проверяю, заполнен ли массив
// function ara () {
// console.log(data)
// };
// setInterval(ara, 1200)