Keçeci Deterministic Zigzag Layout
Version 1

Keçeci Deterministic Zigzag Layout (Keçeci Zigzag Layout Algorithm, Keçeci Layout) is a deterministic node layout algorithm designed for graph visualization in Python. Its primary purpose is to position the nodes of a graph in a predefined, sequential, and repeatable manner. The algorithm processes nodes sequentially, placing them along a user-defined primary axis (e.g., top-down or left-to-right) while applying an offset on the secondary axis in a zigzag pattern. This zigzag pattern helps prevent node overlaps while maintaining an orderly structure. The function is designed to be compatible with popular Python graph libraries, including NetworkX, Rustworkx, igraph, Networkit, and Graphillion (via GraphSet objects). It takes a graph object from one of these libraries as input, processes the nodes (usually by sorting their IDs), and returns a Python dictionary mapping each node's identifier (in the library-specific format) to its calculated (x, y) coordinates. Users can customize the node spacing along the primary and secondary axes (primary_spacing, secondary_spacing), the main direction of the layout (primary_direction), and the starting side of the zigzag pattern (secondary_start) through parameters. This regular and predictable structure is useful, particularly when the order of nodes is significant or when a simple, aesthetically pleasing, and easily traceable graph visualization is desired. Keçeci Layout is a deterministic node layout algorithm designed for graph visualization in Python. Its primary purpose is to position the nodes of a graph in a predefined, sequential, and repeatable manner. The algorithm processes nodes sequentially, placing them along a user-defined primary axis (e.g., top-down or left-to-right) while applying an offset on the secondary axis in a zigzag pattern. This zigzag pattern helps prevent node overlaps while maintaining an orderly structure. The function is designed to be compatible with popular Python graph libraries, including NetworkX, Rustworkx, igraph, Networkit, and Graphillion (via GraphSet objects). It takes a graph object from one of these libraries as input, processes the nodes (usually by sorting their IDs), and returns a Python dictionary mapping each node's identifier (in the library-specific format) to its calculated (x, y) coordinates. Users can customize the node spacing along the primary and secondary axes (primary_spacing, secondary_spacing), the main direction of the layout (primary_direction), and the starting side of the zigzag pattern (secondary_start) through parameters. This regular and predictable structure is useful, particularly when the order of nodes is significant or when a simple, aesthetically pleasing, and easily traceable graph visualization is desired.

Keywords: Graph Layout, Node Positioning, Zigzag Layout, Sequential Layout, Deterministic Algorithm, Graph Visualization, Keçeci Layout, KececiLayout, Keçeci Zigzag Layout Algorithm, Keçeci Deterministic Zigzag Layout.

SEEK ID: https://workflowhub.eu/documents/31?version=1

Filename: Keçeci Deterministic Zigzag Layout-0.pdf  Download

Format: PDF document

Size: 1.18 MB

DOI: 10.48546/workflowhub.document.31.1

help Creators and Submitter
Creator
Submitter
Citation
Keçeci, M. (2025). Keçeci Deterministic Zigzag Layout. WorkflowHub. https://doi.org/10.48546/WORKFLOWHUB.DOCUMENT.31.1
Activity

Views: 35   Downloads: 2

Created: 26th Jun 2025 at 15:24

help Tags

This item has not yet been tagged.

help Attributions

None

Version History

Version 1 (earliest) Created 26th Jun 2025 at 15:24 by Mehmet Keçeci

No revision comments

Powered by
(v.1.17.0-main)
Copyright © 2008 - 2025 The University of Manchester and HITS gGmbH