这是一个让您入门的基础知识:http: //jsfiddle.net/henbox/8m2gn7vw/2/
我做了一些改变。首先,这是确定每个面包屑多边形如何定位的代码部分:
// Set position for entering and updating nodes.
g.attr("transform", function(d, i) {
return "translate(" + i * (b.w + b.s) + ", 0)";
});
垂直切换translate
到位置面包屑节点是将x 轴固定在 0 并改为计算y 轴位置的情况,以及将面包屑多边形宽度 ( b.w
) 切换为高度 ( b.h
),如下所示:
return "translate(0, " + i * (b.h + b.s) + ")";
接下来,我需要修改<div id="sequence"></div>
html 元素以适应面包屑路径的新形状。最简单的方法是一起删除sequence
div,然后根据右侧用于图例id=leftsidebar
的现有元素创建一个新 div。<div id="sidebar">
我修改了 CSS 以提供新 div 的大小和位置。
最后,我将 移动percentageString
到正确的位置,在最后一个面包屑节点下方。为此,我从以下位置切换x
和y
属性:
d3.select("#trail").select("#endlabel")
.attr("x", (nodeArray.length + 0.5) * (b.w + b.s))
.attr("y", b.h / 2)
至
d3.select("#trail").select("#endlabel")
.attr("x", b.w / 2)
.attr("y", (nodeArray.length + 0.5) * (b.h + b.s))
为了进一步改进,您可能想要重新塑造面包屑多边形(它们指向正确的那一刻看起来很奇怪