amCharts 4 (v4) Установить определенные цвета на круговой диаграмме - PullRequest
0 голосов
/ 16 мая 2018

Я тестирую этот фреймворк Amcharts и могу настроить определенные цвета в amcharts v3 следующим образом:


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

Но мне сложно сделать то же самое в Amcharts V4 ... я пробовал такие вещи, какэто


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

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


или это


"series": [{
    "type": "PieSeries3D",
    "colors": ["#388E3C", "#FBC02D", "#0288d1", "#F44336", "#8E24AA"],
}]

, но, в конце концов, не работает ... кто-нибудь здесь тоже приключается?

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 14 июня 2018

Я нашел немного другой способ:

  const myColors= [
    "#0000ff",
    "#ff0000",
    "#ffff00",
    "#ff00ff"
  ];
  series.columns.template.adapter.add("fill", (fill, target) => {
    return am4core.color(myColors[target.dataItem.index]);
  });

По крайней мере, это работает с am4charts.ColumnSeries() Объектом.Количество столбцов должно быть равно количеству цветов, конечно.

0 голосов
/ 08 января 2019

Вы можете сделать это:

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

Или как @ xorspark

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

Док здесь: https://www.amcharts.com/docs/v4/concepts/colors/#Manually_setting_color_sets

0 голосов
/ 16 мая 2018

colors - это объект ColorSet, который является оберткой для массива color объектов в AmCharts v4.Вы должны создать массив объектов color, назначить их массиву list объекта ColorSet, а затем присвоить его свойству серии 'colors:

var colorSet = new am4core.ColorSet();
colorSet.list = ["#388E3C", "#FBC02D", "#0288d1", "#F44336", "#8E24AA"].map(function(color) {
  return new am4core.color(color);
});
pieSeries.colors = colorSet;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...