【问题标题】:d3.js Sankey Chart: Manually Position SINKS Along X Axisd3.js 桑基图:沿 X 轴手动定位 SINKS
【发布时间】:2016-11-17 21:12:58
【问题描述】:

stackoverflow 社区提供了一个很好的解决方案,可以在 sankey 图中沿 x 轴移动节点(链接 here)。

但是,我注意到无法手动更改 sink 节点的位置(即那些自动分配给最右边的节点)。因为我将时间合并到 sankey 图中,所以我需要将某些汇节点固定在手动指定的 x 位置。

这是一个需要此功能的JSFiddle 示例。具体来说,我需要将node "6": "Departed (6 mo.)" 固定到x 位置'1'。

"nodes":[
    ...
    {"node":6,"name":"Departed (6 mo.)","xPos":1},  // <-- need to move to position x=1; manual override not taking effect
    ...

根据上述解决方案,我在d3.sankey() 中更新了computeNodeBreadths(),并将"xPos":1 包含在感兴趣的节点中;但更改未生效。

是否有人对上述解决方案有推荐的更新,允许手动调整 sink 节点 x 位置?

【问题讨论】:

    标签: javascript d3.js sankey-diagram


    【解决方案1】:

    经过一番研究,答案是在d3.sankey() 方法computeNodeBreadths() 中注释掉moveSinksRight(x) 行。归功于 Greg Ross:https://stackoverflow.com/a/21540569/4245462

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 2014-05-10
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多