Javascript AMSCHART4:&x27;legendSettings'';itemValueText';检查是否存在空值或未定义的值
所以,我创建了一个百分比柱状图,在这个柱状图上,我在工具提示和图例中显示数据,类似于。 最后我还增加了%。(我从后端API获得的数据分别是40%、55%、90%,即40%、50%和90%,而不是0.4或0.5)。 我还显示了开始阶段的平均百分比Javascript AMSCHART4:&x27;legendSettings'';itemValueText';检查是否存在空值或未定义的值,javascript,amcharts,amcharts4,Javascript,Amcharts,Amcharts4,所以,我创建了一个百分比柱状图,在这个柱状图上,我在工具提示和图例中显示数据,类似于。 最后我还增加了%。(我从后端API获得的数据分别是40%、55%、90%,即40%、50%和90%,而不是0.4或0.5)。 我还显示了开始阶段的平均百分比 series.legendSettings.itemValueText = "[bold]{valueY}%[/]"; series.legendSettings.valueText = "(Avg: [bold]{valueY.average.form
series.legendSettings.itemValueText = "[bold]{valueY}%[/]";
series.legendSettings.valueText = "(Avg: [bold]{valueY.average.formatNumber('#.##')}%[/])";
因此,在某些情况下,对于整个数据集,其中一列为null或未定义,我无法获取键本身,这导致图例仅显示%。悬停时,它将显示%
所以我的问题是-是否有某种方法可以检查'itemValueText'或{valueY}来检查它是否为'undefined',而不是在最后添加%?
或者有没有别的办法,我做错了?
基本上-
series.legendSettings.itemValueText = "{valueY}";
if (series.legendSettings.itemValueText !== undefined) { // or check {valueY}
series.legendSettings.itemValueText = "[bold]{valueY}%[/]"; // Only if value is undefined add % in last
series.legendSettings.valueText = "(Avg: [bold]{valueY.average.formatNumber('#.##')}%[/])";
}
您可以在图例的模板上创建适配器,以根据模板字符串检查最终文本输出,并进行相应调整
chart.legend.valueLabels.template.adapter.add("textOutput", function(text, target) {
if (text === '(Avg: [bold]%[/])') {
return 'N/A';
}
else if (text === '[bold]%[/]') {
return '';
}
return text;
});