amCharts 4 (v4) 在饼图中设置特定颜色

Lea*_*rta 3 beta graph amcharts

我正在测试这个框架 Amcharts,我可以像这样在 amcharts v3 中配置特定的颜色:


pieChart = AmCharts.makeChart("chartdiv", {
      "type": "pie",
      "colors": ["#388E3C", "#FBC02D", "#0288d1", "#F44336", "#8E24AA"],
      -- other stuff
    });
Run Code Online (Sandbox Code Playgroud)

但我发现很难在 Amcharts V4 中做出同样的事情......我尝试过这样的事情


pieSeries.colors._list = am4core.color['#388E3C', '#FBC02D', '#0288D1', '#F44336', '#8E24AA']

pieSeries.slices.template.fill = am4core.color('#388E3C', '#FBC02D', '#0288D1', '#F44336', '#8E24AA')


Run Code Online (Sandbox Code Playgroud)

或这个


"series": [{
    "type": "PieSeries3D",
    "colors": ["#388E3C", "#FBC02D", "#0288d1", "#F44336", "#8E24AA"],
}]
Run Code Online (Sandbox Code Playgroud)

但最终不起作用......有人也在这里冒险吗?

提前致谢。

xor*_*ark 8

colors是一个ColorSet对象,它是colorAmCharts v4中对象数组的包装器。您必须创建一个color对象数组,将它们分配给一个ColorSet对象的list数组,然后将其分配给系列的colors属性:

var colorSet = new am4core.ColorSet();
colorSet.list = ["#388E3C", "#FBC02D", "#0288d1", "#F44336", "#8E24AA"].map(function(color) {
  return new am4core.color(color);
});
pieSeries.colors = colorSet;
Run Code Online (Sandbox Code Playgroud)


小智 5

你可以这样做:

pieSeries.colors.list = [
    new am4core.color('#388E3C'),
    new am4core.color('#FBC02D'),
    new am4core.color('#0288D1'),
    new am4core.color('#F44336'),
    new am4core.color('#8E24AA'),
]
Run Code Online (Sandbox Code Playgroud)

或者像@xorspark

pieSeries.colors.list = ["#388E3C", "#FBC02D", "#0288d1", "#F44336", "#8E24AA"].map(function(color) {
      return new am4core.color(color);
});
Run Code Online (Sandbox Code Playgroud)

文档在这里:https : //www.amcharts.com/docs/v4/concepts/colors/#Manually_setting_color_sets