は、あなたがこれを達成することができ、カスタムローディング機能によりd3.json
ライン
d3.json("sankey-formatted.json", function(error, graph) {
// ...
})
を置き換えます例えば
loadData(function (graph) {
// contents of the function passed to d3.json
})
今これは、ハードな方法だろう
function loadData(cb) {
var data = {
"nodes":[
{"node":0,"name":"node0"},
{"node":1,"name":"node1"},
{"node":2,"name":"node2"},
{"node":3,"name":"node3"},
{"node":4,"name":"node4"}
],
"links":[
{"source":0,"target":2,"value":2},
{"source":1,"target":2,"value":2},
{"source":1,"target":3,"value":2},
{"source":0,"target":4,"value":2},
{"source":2,"target":3,"value":2},
{"source":2,"target":4,"value":2},
{"source":3,"target":4,"value":4}
]}
// invoke the function passed as an argument
cb(data)
}
プレーンなJSのオブジェクトにすることができ、あなたが持っているデータと呼ばれるべきパラメータとしての機能を受け取るloadData
機能、使いやすいですその機能を取り除き、データを直接保持する変数を持っていることがあります。
var graph = { /* the nodes and links are here */ }
// contents of the function passed to d3.json