Я пытаюсь изменить код, и в тех модификациях, которые я сделал, я не смог разместить текст в середине круга. Я пробовал много вещей, и я видел несколько примеров, но это не работает для меня. Как мне это сделать? Я знаю, что это должно быть сделано в этой части, и я добавляю текстовый тег, но он не работает.
bubbles.enter().append('circle')
.classed('bubble', true)
.attr('r', 0)
.attr('fill', function (d) { return fillColor(d.group); })
.attr('stroke', function (d) { return d3.rgb(fillColor(d.group)).darker();
})
.attr('stroke-width', 2)
.on('mouseover', function(){})
.on('mouseout', function(){});
Создайте еще один выбор для текстов:
var bubblesText = svg.selectAll('.bubbleText')
.data(nodes, function(d) {
return d.id;
});
bubblesText.enter().append('text')
.attr("text-anchor", "middle")
.classed('bubble', true)
.text(function(d) {
return d.name
})
И перемещайте их внутри функции тика.
Вот обновленный плункер: http://plnkr.co/edit/UgDjqNhzbvukTWU6J9Oy?p=preview
PS: Это очень общий ответ, просто показывая вам, как отображать тексты. В этом ответе не рассматриваются детали, такие как размер или переходы, которые выходят за рамки вопроса и что вам придется реализовать себя.