Элемент SVG
не отображает текст, который вы размещаете внутри него, используя функцию .text
. Способ отображения текста состоял бы в том, чтобы сделать узлы графа элементов SVG
. Затем они могут содержать дочерние элементы
и
.
Это может выглядеть так:
\\create graph nodes using groups
var node = svg.selectAll(".node")
.data(graph.nodes)
.enter().append("g").call(force.drag);
node.append("circle")
.attr("class", "node")
.attr("r", 5)
.style("fill", function (d) { return color(d.group); });
node.append("text")
.text(function (d) { return d.name; });
Вам также нужно будет изменить силу так, чтобы она преобразует группу
на галочку.
force.on("tick", function () {
...
node.attr("transform", function (d) { return "translate(" + d.x + "," + d.y + ")"; });
});
Вы можете увидеть ее в действии для небольшого графика в http://jsfiddle.net/vrWDc/19/ , Этот метод может быть не очень эффективным при применении к большому графику из-за количества текста, который нужно визуализировать.