当我访问“替换数据”示例的文档时,我看到了一个 JSFiddle。该示例使用“replaceData()”函数动态更改数据,它对我来说似乎工作正常。见这里:https ://jsfiddle.net/egd1kj9x/
也许您可以复制该示例并从那里开始工作以找出示例与您要执行的操作之间的不同之处?
这是完整的示例:
var randomSeed = 10; // this can be changed to generate different data sets
function getRandomNumber() {
var x = Math.sin(randomSeed++) * 10000;
return x - Math.floor(x);
}
var nextNodeId = 0;
chart = null;
function buildData() {
var nodes = [];
var links = [];
var i;
var numNodes = 10;
for (i = 0; i < numNodes; i++) {
nodes.push({ "id": i, "loaded": true });
}
//make some random links
for (i = 0; i < 10; i++) {
var from = Math.floor(getRandomNumber() * numNodes);
var to = Math.floor(getRandomNumber() * numNodes);
links.push({ "id": i + "_" + from + "_" + to, "from": from, "to": to });
}
chart.replaceData({ "nodes": nodes, "links": links });
}
chart = new NetChart({
style: {
node: {
display: "text",
fillColor: "rgba(47,195,47,0.9)",
},
link: {
fillColor: "rgba(86,185,247,0.4)"
}
},
container: document.getElementById("demo"),
area: { height: 350 }
});
buildData();
var intervalHandle = setInterval(buildData, 2400);
function disposeDemo() {
window.clearInterval(intervalHandle);
disposeDemo = null;
intervalHandle = null;
}