Constellation Framework uses layout behaviors which can be mixed and matched to produce the desired effect. Combine more than ten included behaviors to repel nodes, create a damping effect, or simulate gravity.
constellation.behaviors = [ new ZeroAccelerationBehavior(), new AgoraphobeBehavior(0.3), new EdgeAttractionBehavior(0.4), ... ];
Each node and edge can be drawn exactly how you want. By overriding the default renderer draw() method or implementing your own renderers from scratch, you choose whether to display labels, vector shapes, or dynamically loaded images. You can even use different renderer classes for different nodes and edges in the same visualization.
override protected function draw():void { // render the node as a red circle graphics.clear(); graphics.beginFill(0xff0000); graphics.drawCircle(0, 0, 60); graphics.endFill(); }
The library includes classes for working with graph data. They are intuitive to use and have been optimized for performance to meet the demands of graph visualization. To make graph data manipulation easier, operations like filtering by node or determining whether a graph is connected are also included.
var rootNode:LinkedNode = graph.getNodeByID("n42"); var depth:int = 3; var tree:Graph = rootNode.getTree(depth);
We never underestimate the importance of good documentation. The API documentation uses the familiar format produced by Adobe's ASDoc tool and the software package includes Flex and Flash sample applications with well-commented source code.
Find out about Constellation Framework licensing »
Constellation Framework is primarily a force-directed graph visualization: a physics engine moves the nodes according to the forces that are acting on them. However, the library is also flexible enough to handle explicit positioning.