graphviz-2999.15.0.1: Bindings to Graphviz for graph visualisation.
Safe HaskellNone




Defines various algorithms for use on DotRepr graphs. These are typically re-implementations of behaviour found in existing Graphviz tools but without the I/O requirement.


Canonicalisation Options

For simplicity, many algorithms end up using the canonicalisation functions to create the new DotGraph. CanonicaliseOptions allows you to configure how the output is generated.

data CanonicaliseOptions Source




edgesInClusters :: Bool

Place edges in the clusters where their nodes are rather than in the top-level graph.

groupAttributes :: Bool

Put common Attributes as top-level GlobalAttributes.

dotLikeOptions :: CanonicaliseOptionsSource

Options that are more like how dot -Tcanon works.


canonicalise :: DotRepr dg n => dg n -> DotGraph nSource

Implements similar functionality to dot -Tcanon. However, this method requires no IO and doesn't care about image locations, etc.

This function will create a single explicit definition for every node in the original graph and place it in the appropriate position in the cluster hierarchy. All edges are found in the deepest cluster that contains both nodes. Currently node and edge attributes are not grouped into global ones.

Dealing with transitive edges