我一直在使用Google Chart的Sankey Diagram开发应用程序,我在网络应用程序上成功创建了一个Sankey Diagram示例。但是我对布局并不满意,而且我在网上搜索并获得了针对Sankey Diagram的d3.js插件。它看起来非常好,我从here测试了示例代码应用程序。
在代码中,它调用外部JSON文件将其用作节点:
d3.json("sankey-formatted.json", function(error, graph) { ... });
在我开发的第一个应用程序中,我从多维数组中获取节点,如下所示:
//rows is the multidimensional array
//i got this from the example on Google Charts
data.addRows(rows);
多维数组是来自AJAX调用的对象集合。
如何将此数组用于Sankey Diagram?我可以不调用外部文件吗?
答案 0 :(得分:1)
我设法回答了我自己的问题(愚蠢的我)。我将发布这个以供将来使用。
如果您已有一个包含数据的变量(即数组),请直接使用它。
就我而言,原始代码:
d3.json("sankey-formatted.json", function(error, graph) {
//sankey is an object, as well as the graph
sankey
.nodes(graph.nodes)
.links(graph.links)
.layout(32);
// ... other codes
});
将其更改为
// this time, nodes and links are the variables
// that holds the arrays to be used by the chart
// remove the encapsulation of d3.json
sankey
.nodes(nodes)
.links(links)
.layout(32);
// ... other codes
希望这有助于未来的观点。