更改dagre-d3

时间:2016-04-08 19:23:15

标签: javascript d3.js dagre-d3

我正在使用dagre-d3在Javascript应用程序中显示有向图,其默认节点形状是一个矩形。我更喜欢省略号,但如果有一种改变默认值的程序化方法(例如,我不想在render.js中修改NODE_DEFAULT_ATTRS),对我来说并不是很明显。有什么建议?谢谢你的关注。

2 个答案:

答案 0 :(得分:1)

我做了一些实验,并提出了一种看起来并不笨拙的方法。基本上,我走了图形节点并设置它们的形状,然后将图形关闭到dagreD3.render。

var g = graphlibDot.read(treeData);
g.nodes().forEach(function(v) {
    var node = g.node(v);
    node.shape = "ellipse";
});
var render = new dagreD3.render();
var svg = document.querySelector('#graphContainer');
render(d3.select("svg g"), g);

答案 1 :(得分:0)

您可以在创建节点时设置形状:

g.setNode(id, { shape: 'ellipse' });