documentationfor yFiles for HTML 2.6

Automatic Graph Layout

Optimization criteria for graph layout algorithms are numerous. They vary from minimizing the length of edge paths to minimizing the number of bends, from placing highly connected components tightly together to placing nodes in a hierarchical top-to-bottom manner. Besides the rather unemotional nature of such optimization, a graph layout algorithm at the same time also aims at making its outcome an aesthetically pleasing experience for a user.

The yFiles graph layout algorithms support a number of sophisticated features when calculating a graph’s layout. Most notably, grouped graphs and arranging their grouped nodes is supported. Bus-like edge paths can be generated for edges connecting to a common node, and both starting point and end point of an edge path can be constrained to a specific side of a node or even explicit coordinates. Additionally, some algorithms provide labeling as an integrated part of layout generation.

This chapter discusses the yFiles layout algorithms, and explains their options and customization possibilities. It shows how to create and invoke the algorithms, and how to achieve aesthetic and clear graph layouts. Also, the general layout architecture is introduced, and common concepts for the layout algorithms are described.