AmCharts 4 обрабатывает нулевые данные - PullRequest
0 голосов
/ 12 декабря 2018

Я работаю над 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 Ответ

0 голосов
/ 13 декабря 2018

Похоже, что пример кода, который он предоставил, является более / менее прямым из одного из наших демонстрационных примеров круговой диаграммы, например, Круговая диаграмма с легендой , поэтому я смешал и сопоставил это с решением в зеркальный выпуск 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/

...