d3.js - 如何创建具有弯曲节点端点的 Sankey 图?

标签 d3.js sankey-diagram

我正在使用 D3.js and its sankey plugin为我的数据集生成桑基图。

长话短说,我对插件源代码做了一些修改(以获得不同的分支 breadth),目前看起来像这样:

enter image description here

现在我正在尝试让分支弯曲向下(和向上),有点像this image from wikipedia (减去整个环回的东西):

enter image description here

我的问题是,这可能吗?好吧,我知道这是可能的,这就是它有多大的兔子洞。我以前从未使用过 SVG,这是我第一次涉足 D3,所以我不太确定我要进入什么领域。

或者,是否有另一个库可以生成像我想要的那样的图表?我遇到了this python library看起来它可能会做我想做的事,但我从来没有写过一行 Python,如果我能避免的话,我宁愿不写(至少在今天)。

最佳答案

是的,使用 d3.js 是可能的(并且相对容易实现)。

这是一个例子:

http://bl.ocks.org/cfergus/3921009

您很可能需要调整代码以满足您的需要,但这基本上是您问题的解决方案。

看看这个随机的 Sankey 生成器:

http://bl.ocks.org/cfergus/3956043

一段时间后,您将获得带有循环的图表。

关于d3.js - 如何创建具有弯曲节点端点的 Sankey 图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22362323/

相关文章:

javascript - 检查 HTML select 元素是否为空

javascript - 具有多个图的 D3 转换

javascript - D3.js sankey 的解析和无效值

javascript - 谷歌桑基颜色悬停

r - 桑基图中的标签大小(riverplot 包)

javascript - D3js - 在饼图中的路径之间添加透明间隙

Javascript向多个div添加动态标签

javascript - 如何用D3添加一个简单的圆弧

python - 水文模型的通量和存储图

使用 Riverplot 的 R Sankey 图 - 垂直标签