分别更改amchart中每个数据的边框颜色

时间:2019-06-13 11:53:18

标签: amcharts amcharts4

我看到有一个选项可以更改饼图中每个数据条目的背景颜色,但是找不到更改边框颜色的选项。

    memoryChartSeries.colors.list = [
      am4core.color('rgba(54, 162, 235, 0.2)'), // blue

我发现的是memoryChartSeries.slices.template.stroke,但我不知道它是否可以容纳一种以上的颜色。我期望像这样:

    memoryChartSeries.border.colors.list = [
      am4core.color('rgba(54, 162, 235, 0.2)'), // blue

2 个答案:

答案 0 :(得分:1)

您可以只设置pieSeries.slices.template.stroke

pieSeries.slices.template.stroke = am4core.color('rgba(54, 162, 235, 0.2)');

这将为pie chart的所有切片设置边框颜色。

如果要分别为每个切片设置边框颜色,则可能需要使用adapter

pieSeries.slices.template.adapter.add("stroke", (value, target, key) => {
    // return what color you want here...
    return value;
});

答案 1 :(得分:0)

您需要定义自定义颜色代码数组并设置主题。

const colors = [
    am4core.color('#18020A'),
    am4core.color('#730154'),
    am4core.color('#E77624'),
    am4core.color('#7E5109'),
    am4core.color('#34495E'),
    am4core.color('#B3B6B7'),
    am4core.color('#232555'),
    am4core.color('#196F3D'),
    am4core.color('#6C3483'),           
]

const am4themes_myTheme = (target) => {
    if (target instanceof am4core.ColorSet) {       
        target.list =  themeModeChange(themeMode)
    }
}

am4core.useTheme(am4themes_myTheme);

series.columns.template.adapter.add("stroke", function (fill, target) {
    return chart.colors.getIndex(target.dataItem.index);
});

您可以分别更改amchart中每个数据的边框颜色。