我使用Springy力导向图布局库有一个很好的力导向图。我发现,当我通过 ajax 用另一个图形替换图形时(例如,在用户更改了某些设置之后),两个图形都占据同一个画布。
我在寻找什么:我需要完全摆脱旧图,因此新图是画布中唯一存在的图。
这是一个简化的 jsfiddle 用例:http: //jsfiddle.net/XPAqX/
// make a new graph
var graph = new Springy.Graph();
// make some nodes
var spruce = graph.newNode({label: 'Norway Spruce'});
var fir = graph.newNode({label: 'Sicilian Fir'});
// connect them with an edge
graph.newEdge(spruce, fir);
$('#my_canvas').springy({ graph: graph, nodeSelected: function(node) {
alert(node.data.label);
} });
//now, I let the user update the dataset with ajax and re-render the graph.
graph = null;
graph = new Springy.Graph();
// make some nodes
var kittens = graph.newNode({label: 'Furry Baby Cats'});
var puppies = graph.newNode({label: 'Fluffy Baby Dogs'});
// connect them with an edge
graph.newEdge(kittens,puppies);
$('#my_canvas').springy({ graph: graph });
快速说明:交叉发布为弹性 github 上的一个问题,但还没有答案:https ://github.com/dhotson/springy/issues/47