问题标签 [sankey-diagram]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 JavaScript 将 CSV 格式化为 JSON
我的任务:给定一组 CSV 格式的数据,使用 D3 显示一个桑基图。
给定数据格式:(我无法更改)
D3 Sankey 插件所需的格式:
我的问题:将 CSV 数据转换为 Sankey 图表所需的 JSON。我无法更改给我的初始数据,所以我必须动态构建 JSON。
我的研究将我带到了这里,但按摩 CSV 数据(尚未包含值,仅包含源和目标)的唯一示例是通过 MySQL。由于我无法访问项目中的数据库,因此我求助于使用 Underscore.js 来帮助我进行转换(在 Backbone.js 应用程序中)
这是我到目前为止所拥有的,它按预期工作。
对于小型数据集,这不会是一个问题,但数据可能包含数千行,可能多达 10 列。
所以,长话短说,我的问题分为两部分:
我可以实现任何明显的性能提升吗?
是否有更好(更有效)的方式来为 D3 中的桑基图按摩数据?
我意识到这是一个特别狭窄的问题,所以我感谢任何和所有的帮助!
r - R sankey plot节点限制?
桑基图有节点限制吗?我正在尝试创建一个包含很多节点的图,但以下代码无法生成图(但没有给我错误警告)。
知道这里发生了什么吗?
javascript - 在桑基图中:使路径“尽可能短”?
我对使用桑基图很感兴趣,例如http://bost.ocks.org/mike/sankey/
具体来说,我正在使用启用循环的块:http: //bl.ocks.org/cfergus/3956043
但是,每个“起始节点”都绘制在最左侧,每个“结束节点”绘制在最右侧。ASCII 示例:
我更喜欢(在我的具体情况下)是保持路径尽可能短,例如:
任何 d3js 专家知道这是否容易在位置计算算法中修改?
目前,我在渲染节点后手动移动它们。
从:
至:
python - 在 matplotlib sankey 图中连接流
我正在使用 matplotlibssankey
功能并且在连接两个流时遇到问题。基本上,我只想将流程连接到流程Qab,rekup
的末尾Qzu,rekup
(请参阅屏幕截图)。
似乎很容易,但我仍然没有弄清楚如何管理它。
这是屏幕截图:https
://www.dropbox.com/s/2satz9ryniy958v/Sankey.png?dl=0
这是代码:
有人有想法吗?
在此先感谢
javascript - 如何在 d3 sankey 插件中强制一个分支的 y 位置?
我想强制桑基图的一个分支位于顶部。
而不是这样的图表:
想要生成节点 1、2、7、15、10 和 14 始终位于顶部的图表:
链接到当前代码:http: //jsfiddle.net/w5jfp9t0/1/
我需要改变什么才能做到这一点?
javascript - d3.js Sankey 节点,图像较高
我能够将图像附加到节点;但是我无法设置图像的高度?任何帮助将非常感激。
javascript - 获取 D3 sankey 图中的节点位置
我正在使用 D3 插件制作桑基图,并想在每列节点上方添加标签。像这样的东西:
sankey 对象中是否有可以返回节点位置的函数?
我在这里遵循模式:http: //bost.ocks.org/mike/sankey/
javascript - D3 sankey图 - 强制节点位置
使用 D3 Sankey 插件,我正在使用新值更新 Sankey 图(更改数据、为节点和链接传递新值——保持所有这些值一致)。是否有类似 d3.treemap 的粘性来维护页面上的节点和链接顺序的功能?如果没有,有没有办法建立这个?
我在这里遵循模式:http: //bost.ocks.org/mike/sankey/
javascript - 如何在 sankey 中使用工具提示添加节点名称列表
我用 R 中的 rChars 包制作了一个 sankey 图。
但是我想添加一个功能,当我们移动到链接或目标节点时,它将在工具提示中显示源节点的所有名称(或图表右上角的新框)。例如,当我们移动到节点“target1”时,它将显示“ddd.fr, pramana.fr”。
我是 d3.js 的新手,对 svg 属性知之甚少。我试图用“link.append("title").text" 或 "node.append("title").text" 做一些事情。但是我所做的似乎没有用,因为 function(d) 总是返回一个数据而不是数组。
这是我的代码,希望有人能帮忙,谢谢!