Tabular Layout

The Tabular Layout is a layout style that produces simple tabular/grid-like layouts. It only places nodes. All edge routes will be reset.

The concept of this layout style is based on a table that consists of cells. The cells are strictly organized in rows (horizontal) and columns (vertical). Each cell is either empty or contains exactly one node. Carefully note that the table itself need not be visualized using table nodes. Therefore, this style is suitable if nodes should be arranged in rows and columns in a regular fashion.

Layout Mode

Determines the general mode for tabular layout.

Automatic Table Size
The number of rows and columns of the table is determined automatically, depending on the number of nodes in the graph. The algorithm aims to create an equal number of rows and columns (e.g. if the table contains 9 nodes, the result will be a 3×3 table).
Single Row
All nodes are placed in a single, horizontal row.
Single Column
All nodes are placed in a single, vertical column.
Fixed Table Size
The size of the table can be specified using settings ‘Row Count’ and ‘Column Count’. Importantly, the table dimensions must be large enough to fit all the nodes of the graph (i.e. ‘Row Count’ times ‘Column Count’ has to be greater than or equal to the number of nodes in the graph). Otherwise, no tabular layout can be computed.
Use Existing Table
This mode is only suitable if the input graph contains table nodes. The table dimensions are determined by the size of the given table node. Also, the assignment of nodes to cells is taken from the existing table. This mode is useful if nodes in an existing table should be properly aligned.
From Sketch
The coordinates of the input graph determine the table size and the mapping of nodes to the table cells. Nodes are assigned to the same row if there exists a horizontal line that crosses through both of their bounding boxes. Similarly, nodes are assigned to the same column if there exists a vertical line that crosses through both of their bounding boxes. This strategy only works correctly if the given input already resembles a rough table arrangement.

Row Count

Determines the number of rows for the tabular layout when ‘Layout Mode’ is set to ‘Fixed Size’.

Column Count

Determines the number of columns for the tabular layout when ‘Layout Mode’ is set to ‘Fixed Size’.

Vertical Node Alignment

Determines the vertical alignment of nodes within rows.

Top
Nodes are top-aligned.
Center
Nodes are center-aligned.
Bottom
Nodes are bottom-aligned.

Horizontal Node Alignment

Determines the horizontal alignment of nodes within columns

Left
Nodes are left-aligned.
Center
Nodes are center-aligned.
Right
Nodes are right-aligned.

Consider Node Labels

Determines whether or not node labels should be taken into account when arranging the graph. If enabled, the cell size will be adjusted such that the labels of the contained node fit into the cell as well. Otherwise, node labels are ignored.

Consider Edges

Determines whether or not edges should be taken into account when arranging the graph. If enabled, the algorithm applies a heuristic approach that prefers an arrangement of nodes that lead to a low overall edge length. Note that this option is only considered if the layout mode is not set to Use Existing Table.

Cell Inset (all sides)

Defines a cell inset for all sides of each table cell.

Minimum Row Height

Defines the minimum height each row must have in the tabular layout. When using layout mode Use Existing Table, the minimum row height is defined by the default row height of the corresponding table node.

Minimum Column Width

Defines the minimum width each column must have in the tabular layout. When using layout mode ‘Use Existing Table’, the minimum column width is defined by the default column width of the corresponding table node.

Maximum Duration (sec)

Specifies a preferred time limit (in seconds) for the layout algorithm. Note that restricting the maximal duration may reduce the overall layout quality. Furthermore, the actual runtime may exceed the maximal duration because the layout algorithm still has to find a valid solution.