【发布时间】:2016-01-25 09:12:53
【问题描述】:
我想创建一个 SVG 组来在其中存储节点和文本。我生成的 HTML 如下所示:
<g class="node" cx="946.6911642155153" cy="434.4579018064595">
<circle class="circle" r="4.5" />
<text dx="12" dy="0.35em">Harry Potter</text>
</g>
然而,节点和文本卡在左上角。我尝试从this question on SO 构建它。
我的代码如下所示:
function draw() {
node = svg.selectAll(".node");
node = node.data(force.nodes(), function(d) { return d.id;});
var gnode = node.enter().append('g').attr("class", "node");
gnode.append("circle").attr("class", "circle").attr("r", 4.5);
gnode.append("text")
.attr("dx", 12)
.attr("dy", ".35em")
.text(function(d) { return d.name });
force.start();
}
可以在此处找到working demo。我怀疑我必须将gnode 推送到force.nodes(),但我不是 100% 确定。
【问题讨论】:
标签: javascript d3.js svg