What is the Graph Layout Package of Views?
Many types of complex business data can be best visualized as a set of nodes and interconnecting links, more commonly called a graph or a network. Examples of graphs include business organizational charts, work flow diagrams, telecom network displays, and genealogical trees. Whenever these graphs become large or heavily interconnected, it becomes difficult to see the relationships between the various nodes and links (also called “edges”). This is where Views Graph Layout algorithms help.
Views provides special support for applications that need to display graphs. Any graphic object can be defined to behave like a node and can be connected to other nodes via links, which themselves can have many different forms.
The Graph Layout package provides high-level, ready-to-use relationship visualization services. It allows you to take any “messy” graph and apply a sophisticated graph layout algorithm to rearrange the positions of the nodes and links. The result is a more readable and understandable picture.
The Graph Layout package is composed of the following modules:
-
ilvlayout A high-level, generic framework for the graph layout services provided by Views.
-
ilvbus A layout algorithm designed to display bus network topologies (that is, a set of nodes connected to a bus node).
-
ilvhierarchical A layout algorithm that arranges nodes in horizontal or vertical levels such that the links flow in a uniform direction.
-
ilvorthlink A layout algorithm that reshapes the links of a graph without moving the nodes.
-
ilvrandom A layout algorithm that moves the nodes of the graph at randomly computed positions inside a user-defined region.
-
ilvtree A layout algorithm that arranges the nodes of a tree horizontally, vertically, or in circular layers, starting from the root of the tree.
Before getting started with the Graph Layout package, take a look at two sample drawings of the same graph. For the first one, the nodes were placed randomly when the graph was drawn.
Using the Tree Layout algorithms provided in Views, the following drawing was obtained:
In the second drawing, the layout algorithm has distributed the nodes with the tree structure exposed, avoiding overlapping nodes and showing the symmetries of the graph. This drawing presents a much more readable layout than the first drawing does.