2015-07-09 2 views
0

У меня есть диаграмма Sunburst, которая использует по существу тот же код, что и стандарт, в http://bl.ocks.org/kerryrodden/7090426.Концентрические цвета на схеме D3 Sunburst

Однако у меня есть много «узлов» в моих последних двух кольцах, и любая комбинация цветов делает его очень грязным. Поскольку каждый узел в диаграмме вытаскивается из базы данных, я не могу назначить определенные цвета для значений, поскольку значения являются уникальными.

Есть ли способ, которым я мог бы указать цвет для каждого отдельного кольца на диаграмме? В качестве примера, я хотел бы, чтобы это выглядело примерно так:

http://www.design-by-izo.com/wp-content/uploads/2011/02/Krakow-3.jpg

Таким образом, я смог бы придумать палитрой, которая не конфликтуют столько, сколько применяя диапазон цветов, которые d3 только циклов.

ответ

1

Из того, что я понимаю, вы можете просто изменить стиль fill на диаграмме, используя depth соответствующих данных, например, так:

.style('fill', function (d) { 
    return color(d.depth); 
}) 

где color какая-то массив цвета.

В качестве альтернативы, ES6/2015, просто:

.style('fill', d => color(d.depth)) 

Вот скрипку, показывая эффект: Fiddle (на основе this)

Я надеюсь, что это то, что вы хотите.

+1

Это точно, что я был после, спасибо! – danabnormal