Javascript d3.js未渲染为线的节点之间的链接
我使用的是修改后的气球图,在获取要渲染的节点之间的链接时遇到问题。我使用贾斯汀·维德姆的自定义气球图() 正在使用的数据是股票Bostock flare.json数据: 如果我在Javascript d3.js未渲染为线的节点之间的链接,javascript,d3.js,svg,circle-pack,Javascript,D3.js,Svg,Circle Pack,我使用的是修改后的气球图,在获取要渲染的节点之间的链接时遇到问题。我使用贾斯汀·维德姆的自定义气球图() 正在使用的数据是股票Bostock flare.json数据: 如果我在d3.json(“flare.json”,function(error,root){…中包含“error”选项,它将出错。如果没有它,至少会出现节点。源和目标的数据是否被识别 如果是,下面的尝试是调用父源和目标子的坐标,并在它们之间画一条线,但我不知道这种方法是否正确。我应该改为使用d3.svg.diagonal 这是显
d3.json(“flare.json”,function(error,root){…
中包含“error”选项,它将出错。如果没有它,至少会出现节点。源和目标的数据是否被识别
如果是,下面的尝试是调用父源和目标子的坐标,并在它们之间画一条线,但我不知道这种方法是否正确。我应该改为使用d3.svg.diagonal
这是显示的图形:
更新:
我从API参考中添加了以下关于“hierarchy.links”的代码:
结果有点奇怪,但是如果我将d3.svg.diagonal()
替换为d3.svg.line()
,代码就会中断
如何只制作边线而不是条带?此布局中的节点之间没有链接。目标是将树表示为具有嵌套节点的图形
但是,如果您确实想添加链接,即使它们仅通过颜色或厚度添加信息,那么您始终可以通过给每个圆一个不同的
id
来在圆之间画线,然后在源和目标圆之间画线,您可以从数据中提取边。通过将填充设置为“无”并使用笔划来定义颜色,可以创建颜色。类似于:
var link = svg.selectAll(".link")
.data(links)
.enter().append("path")
.attr("class", "link")
.attr("d", line)
.attr("fill", "none")
.attr("stroke", "black");
flare.json看起来像什么?这是因为json文件中没有任何链接。不确定thoughJson是否与以下链接中的相同:这里是:
var link= svg.selectAll("path")
.data(links)
.enter()
.append("path")
.attr("d", d3.svg.diagonal());
var link = svg.selectAll(".link")
.data(links)
.enter().append("path")
.attr("class", "link")
.attr("d", line)
.attr("fill", "none")
.attr("stroke", "black");