问题描述
我正在使用角度为6的amCharts4。我试图创建具有多个序列的时间序列图。我最多可以有50个系列,每个系列的数据点最多可以有8600个。
我创建了一个类似场景的笔。 https://codepen.io/shomapd/pen/GRZMMrE 在这里工作正常,但是当我将相同的代码与我的angular 6应用程序集成时,整个页面将冻结。
有人可以帮我找到问题吗?
for(let i = 1; i<=2; i++) {
am4core.options.minpolylinestep = 5;
var chart = am4core.create("chartdiv" + i,am4charts.XYChart);
let numberOfSeries = 50;
let numberOfDataPoints = 8600;
var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
dateAxis.groupData = true;
dateAxis.groupCount = 1000;
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
chart.cursor = new am4charts.XYCursor();
chart.data = generateData();
createSeries();
function createSeries() {
for(let s=0; s<numberOfSeries; s++) {
var series = chart.series.push(new am4charts.Lineseries());
series.datafields.dateX = "date";
series.datafields.valueY = "value" + s;
// series.data = generate(s);
series.tooltipText = "{valueY}"
}
}
function generateData() {
var data = [];
var seed = 1;
var firstDate = new Date().setHours(0,0);
var start = 0;
for(var i = 0; i < numberOfDataPoints; i++) {
seed = i;
start += Math.round(random(seed)) - 2
const index = data.push({
date: new Date(2020,i)
});
for(let s=0; s<numberOfSeries; s++) {
data[index - 1]['value' + s] = start * (s+1)
}
}
console.log(data);
return data;
}
function random(seed) {
var x = Math.sin(seed++) * 10000;
return x - Math.floor(x);
}
}```
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)