Отредактируйте innerRadius визуализации D3 Sunburst.

Как я могу изменить радиус самого внутреннего круга визуализации Sunburst? См. следующий пример: (http://bl.ocks.org/d/910126/ - обратите внимание, насколько велика центральная область, может ли она быть меньше?)

введите здесь описание изображения

Кроме того, можно ли определить разную высоту для всех слоев в Sunburst?


person jeroen.verhoest    schedule 15.01.2013    source источник


Ответы (2)


Yes, можно.


Базовый пример

jsfiddle

введите здесь описание изображения


Пользовательская высота слоя 1

jsfiddle

введите здесь описание изображения


Пользовательская высота слоя 2

jsfiddle

введите здесь описание изображения


Пользовательская высота слоя 3

jsfiddle

введите здесь описание изображения

person VividD    schedule 10.07.2014
comment
не могли бы вы объяснить, что вы сделали, чтобы изменить каждый из этих примеров? я ценю примеры кода, но трудно понять различия (и логику), глядя на код в разных окнах. Благодарность! - person rkstar; 24.11.2015
comment
Можете ли вы сделать пример с версией v4 библиотеки d3.js? - person sintetico82; 02.05.2017

Я только что сравнил приведенные выше примеры, поэтому не могу претендовать на какие-либо большие навыки\знания здесь, но все изменения находятся в этом разделе:

var arc = d3.svg.arc()
    .startAngle(function(d) { return d.x; })
    .endAngle(function(d) { return d.x + d.dx; })
    .innerRadius(function(d) { return radius * Math.sqrt(d.y) / 10; })
    .outerRadius(function(d) { return radius * Math.sqrt(d.y + d.dy) / 10; });

Эффекты интересные, но не совсем то, что я искал, когда нашел этот вопрос\ответ. Я хотел иметь возможность контролировать размер каждого слоя\кольца по отдельности. В любом случае... надеюсь, что этот сбор jsfiddles выше поможет кому-то еще.

person TimBrighton    schedule 23.05.2016