Да, к сожалению, это ошибка, о которой сообщалось давно, но она так и не была исправлена.Диаграмма рассеяния вызывает _chart.getColor()
без аргументов.
https://github.com/dc-js/dc.js/issues/1138#issuecomment-217861014
Даже если она исправлена, она возвращает только одну легендарную, поэтому я думаю, что она будет работать только для серии разбросадело.Если вы хотите отобразить элементы легенды для каждого цвета на диаграмме, вам нужно будет сгенерировать эти данные самостоятельно:
myChart.legendables = function () {
var byColor = {};
myChart.group().all().forEach(function(d) {
var color = myChart.colors()(myChart.colorAccessor()(d));
byColor[color] = {
chart: myChart,
name: 'color ' + myChart.colorAccessor()(d),
color: color
};
})
return Object.values(byColor);
};
Возможно, диаграмма должна что-то сделать автоматически.Одна из сложностей заключается в том, что в настоящее время нет никаких имен, определенных для цветов - здесь я просто вставил 'color '
со значением, возвращаемым средством доступа к цвету, но, вероятно, у вас есть лучшие имена в вашем фактическом наборе данных.
Вилка вашей скрипки .