2016-04-08 13 views
0

Ich verwende Dagre-D3, um gerichtete Graphen in einer Javascript-Anwendung anzuzeigen, und seine Standardknotenform ist ein Rechteck. Ich würde Ellipsen bevorzugen, aber es ist für mich überhaupt nicht offensichtlich, wenn es einen programmatischen Weg gibt, den Standard zu ändern (ich würde zum Beispiel nicht lieber NODE_DEFAULT_ATTRS in render.js hacken). Irgendwelche Vorschläge? Danke für Ihre Aufmerksamkeit.Ändern der Standard-Knotenform in Dagre-D3

Antwort

0

Ich habe ein wenig experimentiert und kam zu einem Ansatz, der nicht zu plump wirkt. Im Grunde genommen habe ich die Knoten des Diagramms durchlaufen und ihre Formen festgelegt, bevor ich das Diagramm an dagreD3.render übergeben habe.

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);