let dataArr = []; const myChart = echarts.init(document.getElementById("chart")); async function fetchDataForChart() { try { const apiEndpoint = "https://api.bitlab21.com/get_json/final__price.json"; const response = await fetch(apiEndpoint); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const dataArr = await response.json(); initEchart(dataArr); } catch (error) { console.error("Fetching data failed:", error); } } function initEchart(dataArr) { const option = { backgroundColor: backgroundColor, tooltip: tooltip, toolbox: toolboxParams, xAxis: { data: dataArr.map((row) => row.date), axisTick: axisTick, axisLabel: axisLabel, axisLine: axisLine, }, grid: grid, dataZoom: dataZoom(), yAxis: [ { type: "value", name: "Price (USD)", nameGap: 30, nameLocation: "middle", nameTextStyle: textStyleMain, position: "left", alignTicks: true, axisTick: axisTick, axisLine: axisLine, splitLine: { show: false, }, axisLabel: { ...axisLabel, formatter(value, index) { return nFormatter(value, 0); }, }, }, ], series: [ { type: "line", name: "Price (USD)", data: dataArr.map((row) => row.price), }, ], }; myChart.setOption(option); } fetchDataForChart();