无法将 amchart5 中的标签从百分比更改为数字

Nia*_*na 0 amcharts amcharts5

我正在使用新的 amcharts5,尽管引用了我的旧代码和其他链接,但我似乎无法将饼图“切片”和标签更改为纯数字。

基本上我的代码和图表加载,但问题是我的值是用百分比而不是数字来描述的。这是我下面的代码,我试图解决这个问题。

任何帮助将不胜感激。

                    // Set data 
                    series.data.setAll([
                        { value: Type[0], category: "Type 1" }, 
                        { value: Type[1], category: "Type 2" }, 
                        { value: Type[2], category: "Type 3" },
                    ]);


                    // Create legend 
                    var legend = chart.children.push(am5.Legend.new(root, {

                        centerX: am5.percent(50),
                        x: am5.percent(50),
                        marginTop: 15,
                        marginBottom: 15
                    }));


                    legend.labels.template.text = "{category}: {value.value}";
                    legend.slices.template.tooltipText = "{category}: {value.value}";
                    chart.legend.valueLabels.template.text = "{value.value}";

                    legend.data.setAll(series.dataItems);    
Run Code Online (Sandbox Code Playgroud)

问候

xor*_*ark 7

v5 在 API 方面与 v4 完全不同。为了配置饼图的图例,您必须将其设置在系列中,如下所示

let series = chart.series.push(
  am5percent.PieSeries.new(root, {
    name: "Series",
    categoryField: "country",
    valueField: "sales",
    legendLabelText: "{category}",
    legendValueText: "{value}"
  })
);
Run Code Online (Sandbox Code Playgroud)

需要使用set或在切片上设置工具提示setAll(有关更多信息,请参阅设置文档):

series.slices.template.set('tooltipText', '{category}: {value}');
Run Code Online (Sandbox Code Playgroud)

类似地,对于切片标签,text使用上述函数设置属性:

series.labels.template.set('text', '{category}: {value}');
Run Code Online (Sandbox Code Playgroud)

演示:

let series = chart.series.push(
  am5percent.PieSeries.new(root, {
    name: "Series",
    categoryField: "country",
    valueField: "sales",
    legendLabelText: "{category}",
    legendValueText: "{value}"
  })
);
Run Code Online (Sandbox Code Playgroud)
series.slices.template.set('tooltipText', '{category}: {value}');
Run Code Online (Sandbox Code Playgroud)
series.labels.template.set('text', '{category}: {value}');
Run Code Online (Sandbox Code Playgroud)