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/