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