Javascript 如何将标签添加到d3节点
我想在d3版本4中画一个力定向图。 我有节点、线和节点标签,但我似乎无法将标签添加到节点旁边 所有标签都放在一个位置(svg画布的顶部)Javascript 如何将标签添加到d3节点,javascript,d3.js,Javascript,D3.js,我想在d3版本4中画一个力定向图。 我有节点、线和节点标签,但我似乎无法将标签添加到节点旁边 所有标签都放在一个位置(svg画布的顶部) .节点{ 行程:#000; 笔划宽度:1.5px; } .链接{ 行程:#999; 笔划宽度:1.5px; } 你好 var svg=d3。选择(“svg”), 宽度=+svg.attr(“宽度”), 高度=+svg.attr(“高度”); var simulation=d3.forceSimulation() .力(“电荷”,d3.力人体().力(-200
.节点{
行程:#000;
笔划宽度:1.5px;
}
.链接{
行程:#999;
笔划宽度:1.5px;
}
你好
var svg=d3。选择(“svg”),
宽度=+svg.attr(“宽度”),
高度=+svg.attr(“高度”);
var simulation=d3.forceSimulation()
.力(“电荷”,d3.力人体().力(-200))
.force(“link”,d3.forceLink().id(函数(d){return d.id;}).distance(40))
.力(“x”,d3.力x(宽度/2))
.力(“y”,d3.力(高度/2));
var link=svg.selectAll(“.link”),
node=svg.selectAll(“.node”),
label=svg.selectAll(“文本”);
d3.json(“graph.json”,函数(错误,图形){
如果(错误)抛出错误;
链接=链接
.数据(图表.链接)
.enter().append(“行”)
.attr(“类”、“链接”);
//这里是节点
节点=节点
.数据(图.节点)
.enter().append(“圆”)
.attr(“类”、“节点”)
.attr(“r”,6)
.style(“fill”,函数(d){return d.id;});
//下面是我要添加到每个节点的标签
标签
.数据(图.节点)
.enter().append(“文本”)
.text(函数(d){return d.id;})
.attr('dx','0.35em”)
.attr('dy','0.35em”);
模拟.节点(图.节点);
模拟。力(“链接”)。链接(图。链接);
});
我的graph.json文件如下所示:
{
“节点”:[
{“id”:“班长”,“小组”:1},
{“id”:“Dispatcher”,“group”:1},
{“id”:“力学”,“组”:2},
{“id”:“Drilling”,“group”:2},
{“id”:“爆破”,“组”:3},
{“id”:“正在加载”,“组”:3}
],
“链接”:[
{“源”:“班长”,“目标”:“调度员”},
{“源”:“班长”,“目标”:“钻孔”},
{“源”:“班长”,“目标”:“调度员”},
{“源”:“爆破”,“目标”:“调度程序”},
{“源”:“钻孔”,“目标”:“调度程序”}
]
}
没有错误消息,但标签没有放在正确的位置您的勾号功能在哪里?(你用来定位圆圈和线条的功能)好吧,S.O.是一个相当活跃的社区:当问问题时,最好呆上5分钟,看看评论。为什么要放在?@GerardoFurtado Oh我删除了“勾号”功能,因为它与我的问题无关,@MichaelRovinsky uh,它在我之前提到的代码中,但无论是在身体内部还是外部都有相同的结果,