Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Latest commit

 

History

History
53 lines (33 loc) · 2.04 KB

File metadata and controls

53 lines (33 loc) · 2.04 KB

dependency-graph

THIS REPOSITORY HAS BEEN MOVED INTO A SUBFOLDER OF THE dependency REPO.

This codebase implements the Sugiyama Algorithm for visually representing layered graphs. It makes use of the Dependency project to keep track of dependencies between different items.

As discussed in the README.md for Dependency, one of the original rationales for the codebase was to visually represent package dependencies, and as a result, that's the case that's been most tested.

Samples

Here are some examples of layered graphs created by this code. The code that created these graphs can be found in the test folder in the graph/shape package.

Simple Boxes

This sample shows a simple layered graph with simple, non-cyclic dependencies.

Simple Node Graph

More Complex Example

This sample shows a larger number of layers and dependencies, but the structure is still fairly simple:

Simple Node Graph

Basic Cycles

Here's an example showing a very simple package arrangement, with a cyclic dependency:

Simple Package Dependencies with Cycle

More Complex Cycles

And here's a more complex arrangement with cycles:

Package Dependencies with Cycles

Crossing Arrows

Not all DiGraphs can be represented without lines crossing. Here's a simple example that cannot be drawn in a way that preserves layers without also including line crossings:

Package Dependencies with Crossing Dependencies