Я новичок в d3.js, и у меня проблемы с синтаксисом.
Обычно я знаю, как добавлять метки к графику... но не с этим кодом (который я взял из D3.js Force Layout — отображение только части графика )
Я пробовал различные решения [ .append("text"), enter().append("text")....], но безуспешно.
Вот часть кода, где я думаю, что мне нужно что-то изменить (и ниже кода вы найдете репозиторий gihub всего этого)
this.link = this.link.data(this.force.links(), function (d) {
return d.source.id + "-" + d.target.id;
});
this.link.enter().insert("line", ".node").attr("class", "link")
.style("opacity", 0)
.transition().duration(1000)
.style("opacity", 1);
this.link.exit()
.remove();
this.node = this.node.data(this.force.nodes(), function (d) {
return d.id;
});
if (this.node.enter().empty()==false ||this.node.exit().empty() == false) {
transition = true;
}
this.node.enter()
.append("circle")
.style("opacity", 1)
.attr("class", "node")
.style("fill", function (d) {
return d.color;
})
.attr("r", 18)
/*.on('mouseover', this.mouseOver)*/
.on('mousedown', this.mouseDown)
.on('mouseout', this.mouseOut)
.on("dragstart", this.dragStart)
.on("click", this.click)
.call(this.nodeDrag)
.transition().duration(1000)
.style("opacity", 1)
.each("end",function(){transition=false;});
this.node.each(function(d) {
if (d.centerNode==false) {
this.setAttribute('r',12);
} else if (firstRound) {
this.setAttribute('r',30);
firstRound =false;
}
});
this.node.exit().transition().duration(1000).style("opacity", 0)
.each("end",function(){transition=false;})
.remove();
https://github.com/coulmont/pornograph
node
? - person Lars Kotthoff   schedule 07.02.2014