AmCharts 4 обрабатывает нулевые данные

Я работаю над AmCharts, где я загружаю данные динамически. Иногда могут быть нулевые данные, отправленные из ответа. Мне нужно обработать нулевые данные в AmCharts4. В этой ссылке я вижу пример для Amcharts3 обработки нулевых данных

var chart = am4core.create("reason_for_failure", am4charts.PieChart);
        // Add and configure Series
        var pieSeries = chart.series.push(new am4charts.PieSeries());
        pieSeries.dataFields.value = "litres";
        pieSeries.dataFields.category = "country";
        pieSeries.slices.template.stroke = am4core.color("#fff");
        pieSeries.slices.template.strokeWidth = 2;
        pieSeries.slices.template.strokeOpacity = 1;

        // This creates initial animation
        pieSeries.hiddenState.properties.opacity = 1;
        pieSeries.hiddenState.properties.endAngle = -90;
        pieSeries.hiddenState.properties.startAngle = -90;

        chart.data = [];

1 ответ

Решение

Похоже, что пример кода, который он предоставил, более / менее прямо из одной из наших демонстраций Pie Chart, например, Pie Chart With Legend, поэтому я смешал и сопоставил это с решением в зеркальном выпуске GitHub (демонстрационная ссылка внизу).

Опять же, beforevalidated событие идеально подходит для рассмотрения дела chart.data присваивается пустой массив, например

chart.events.on("beforevalidated", function(event) {
  // check if there's data
  console.log(event.target.data.length);
  if (event.target.data.length == 0) {
    // handle null data here
  }
});

Это должно быть beforevalidated событие, потому что если нет данных, beforedatavalidated не срабатывает.

Демо-версия:

https://codepen.io/team/amcharts/pen/88d11b5385a2669319c1a0fcdaa1e199/

Другие вопросы по тегам