Amcharts 5 пытается изменить тег src, чтобы загрузить другой набор данных для биржевой диаграммы
Я разбил данные 15-минутных свечей за более чем 10 лет на отдельные годы, чтобы они загружались быстрее. Я относительно новичок в программировании и модифицирую одну из потрясающих демонстраций amcharts, чтобы посмотреть, смогу ли я заставить ее работать, и столкнулся с проблемой. Я считаю, что я близок, поскольку вижу загрузку нового файла данных в консоли и источниках, но я не понимаю, что необходимо, чтобы заставить диаграмму загрузить новый файл данных. Файлы данных называются «2023_day.js» и т. д.
В частности, я пытаюсь изменить путь к источнику сценария для загрузки другого файла данных, и я не уверен, как передать имя файла данных в функцию index.js loadData.
// Function that dynamically loadsdata in index.js
function loadData(ticker, series, granularity) {
var data = (window)["2023" + "_" + granularity];
am5.array.each(series, function(item) {
item.data.setAll(data);
});
}
index.html выглядит следующим образом
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>GBPJPY Chart</title>
<link rel="stylesheet" href="index.css" />
</head>
<body>
<div id="chartcontrols" style="padding-left:15px"></div>
<div id="chartdiv"></div>
<script src="../index.js"></script>
<script src="../xy.js"></script>
<script src="../stock.js"></script>
<script src="../themes/Animated.js"></script>
<!--<script src="./data/2023_day.js"></script>-->
<select onChange="changeYear(this.value);">
<option value="-">Select Study Year</option>
<option value="2023">2023</option>
<option value="2022">2022</option>
<option value="2021">2021</option>
<option value="2020">2020</option>
<option value="2019">2019</option>
<option value="2018">2018</option>
<option value="2017">2017</option>
<option value="2016">2016</option>
<option value="2015">2015</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
</select>
<div id="output">
<script id="year" type="text/javascript" src="./data/2023_day.js"></script>
</div>
<script type="text/javascript">
function changeYear(value) {
console.log(value);
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "./data/"+value+"_day.js";
s.innerHTML = null;
s.id = "year";
document.getElementById("output").innerHTML = "";
document.getElementById("output").appendChild(s);
console.log(s.src);
}
</script>
<script src="index.js"></script>
<div id="chartdiv"></div>
</body>
</html>
файлы данных форматируются как
window["2019_day"] = [
{Date:1546318800000,Open:139.82,High:139.82,Low:139.82,Close:139.82,Volume:3},
{Date:1546319700000,Open:139.82,High:139.82,Low:139.82,Close:139.82,Volume:3},
{Date:1546320600000,Open:139.82,High:139.82,Low:139.82,Close:139.82,Volume:3},
{Date:1546321500000,Open:139.82,High:139.82,Low:139.82,Close:139.82,Volume:3},
{Date:1546322400000,Open:139.89,High:139.89,Low:139.83,Close:139.83,Volume:3},
]
и называются по тому же соглашению (т. е. 2019_day.js). Я могу обратиться к любому отдельному файлу данных и правильно загрузить диаграмму.
Любая помощь приветствуется.