在 amcharts 中使用自定义百分比修改漏斗标签值

Modifying funnel label values with custom percentages in amcharts

我想做两件事:

1) 修改此漏斗图中右侧以黄色突出显示的标签值。

2) 更改百分比的计算方式:通常,我的数据中每个类别都有一个 "percentage" 字段,我希望它在标签中显示为突出显示的百分比。例如,类别 "second" 的 data.percentage 是 10%。因此需要显示10%,如图所示。

代码:

var chart = am4core.create("chartdiv", am4charts.SlicedChart);
chart.hiddenState.properties.opacity = 0; 

chart.data = [{
    "name": "The first",
    "value": 600,
    "percentage": "100%"
}, {
    "name": "The second",
    "value": 300,
    "percentage": "10%"
}, {
    "name": "The third",
    "value": 200,
    "percentage": "10%"
}, {
    "name": "The fourth",
    "value": 180,
    "percentage": "35%"
}, {
    "name": "The fifth",
    "value": 50,
    "percentage": "20%"
}];

var series = chart.series.push(new am4charts.FunnelSeries());
series.colors.step = 2;
series.dataFields.value = "value";
series.dataFields.category = "name";
series.alignLabels = true;

series.labelsContainer.paddingLeft = 15;
series.labelsContainer.width = 200;

我发现该系列对象有一个名为 labels 的成员,其中包含标签值,但我不知道如何在代码本身中修改它们。我该怎么做?

要修改您使用的标签的内容 series.labels.template.text

您可以使用大括号引用其中数据中的任何字段:

series.labels.template.text = "{category}: {percentage}";

{percentage} 将替换为该特定切片数据的 "percentage" 中保存的任何值。

This article 概述文本中的数据占位符。