我正在尝试使用Rick Lupton出色的d3-sankey-diagram库来绘制sankey图。在demo page 上,“ alignLinkTypes”用于在节点上对齐具有相同类型的链接,但是自2017年11月以来,此关键字不再起作用; https://github.com/ricklupton/d3-sankey-diagram/commits/master/src/sankeyLayout/link-ordering.js。但是,应该可以使用端口来完成相同的事情。
我试图搜索自述文件,Wiki和源代码来寻找答案,但是我还没有找到答案。
有人可以告诉我如何对齐演示中的链接类型吗?
答案 0 :(得分:0)
很高兴您发现该库很有用! (我是作者)
很遗憾,正如您所发现的,演示页面已过时。 Here is an example在ipysankeywidget中使用新的API(带有“端口”,这是一种更灵活的控制对齐方式):
function alignLinkTypes(layout, align) {
return layout
.sourceId(function(d) { return { id: typeof d.source === "object" ? d.source.id : d.source,
port: align ? d.type : null }; })
.targetId(function(d) { return { id: typeof d.target === "object" ? d.target.id : d.target,
port: align ? d.type : null }; });
}
如果align
为真,则指示布局在标识链接的起点和终点时同时考虑链接的source
和type
(旧的“ alignLinkTypes”行为);否则,仅考虑source
和target
。