在am4charts.XYChart中加载数据数组

问题描述 投票:0回答:1

我不熟悉AmCharts,尝试将数组中的JSON数据加载到图表中并获取排序的数据,图表未加载,这是我在做什么,我遇到此错误图表未处置id-191如何我纠正这个吗?谢谢。

HTML

<div id="Fourdiv">

Javascript

window.addEventListener("load", genFunction());

function genFunction() {
 var x2;
 var jsonx;
 var x = [];
 var ref = firebase.database().ref("Chartdata");
  ref.on('value', function (snapshot) {
   snapshot.forEach(function (childSnapshot) {
     var childKey = childSnapshot.key;
     x2 = childSnapshot.val();
     jsonx = JSON.stringify(x2);
     x.push(jsonx);

    });
 });

  am4core.ready(function () {
  // Themes begin
  am4core.useTheme(am4themes_animated);
  // Themes end

  // Create chart instance
     var chart = am4core.create("Fourdiv", am4charts.XYChart);
       for (i = 0; i < x.length; i++) {
         chart.x.push({ "x": x[i].x, "y": x[i].y });
       }
  // Add data
    chart.data = x;
  // Create axes

    var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
    categoryAxis.dataFields.category = "x";
    categoryAxis.renderer.grid.template.location = 0;
    categoryAxis.renderer.minGridDistance = 30;

    categoryAxis.renderer.labels.template.adapter.add("dy", function (dy, target) {
     if (target.dataItem && target.dataItem.index & 2 == 2) {
        return dy + 25;
    }
    return dy;
  });

    var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());

 // Create series
    var series = chart.series.push(new am4charts.ColumnSeries());
    series.dataFields.valueY = "y";
    series.dataFields.categoryX = "x";
//series.name = "Visits";
    series.columns.template.tooltipText = "{categoryX}: [bold]{valueY}[/]";
    series.columns.template.fillOpacity = .8;

   var columnTemplate = series.columns.template;
   columnTemplate.strokeWidth = 1;
   columnTemplate.strokeOpacity = 1;

  });// end am4core.ready()
}
javascript html amcharts amcharts4
1个回答
0
投票

am4core.readywindow.addEventListener("load", ...)相同。如果您已经在使用自己的onload处理程序,则不需要它。

您还错误地设置了事件侦听器-您需要传入函数引用(不带括号):

window.addEventListener("load", genFunction);
© www.soinside.com 2019 - 2024. All rights reserved.