javascript - 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 = [];
解决方案
看起来他提供的示例代码或多或少直接来自我们的饼图演示之一,例如带有图例的饼图,因此我将其与镜像 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/
推荐阅读
- html - 如何为我的按钮布局添加一些空间?
- java - 从 pastebin 获取原始内容
- css - Vue CLI 组件样式标记未限定范围未应用于 Rails CSP 错误
- python - 终端中 pyperclip 的问题 - 用 Python 自动化无聊的东西
- python - 当 2 个坐标数组彼此相距 10 时,您将如何传递 If 语句?
- java - 类 java.util.ArrayList 具有泛型类型参数,请改用 GenericTypeIndicator
- flutter - 如何在 BoxDecoration 上禁用抗锯齿?
- java - 如何模拟第 3 方服务器响应 - Java
- java - 如何在类中将 int 的所有内部使用转换为 BigInteger
- python - Numpy - 为什么 Fortran 内存布局在逐行读取时比 C 布局快