Maintainer | Ivan.Miljenovic@gmail.com |
---|
Functions to assist in visualising graphs and components of graphs.
- graphviz :: GraphData n e -> [GlobalAttributes] -> (LNode n -> Attributes) -> (LEdge e -> Attributes) -> DotGraph Node
- graphvizClusters :: ClusterLabel cl => GraphData cl e -> [GlobalAttributes] -> (Cluster cl -> [GlobalAttributes]) -> (LNode (NodeLabel cl) -> Attributes) -> (LEdge e -> Attributes) -> DotGraph Node
- graphvizClusters' :: Ord c => GraphData n e -> [GlobalAttributes] -> (LNode n -> NodeCluster c l) -> (c -> Maybe GraphID) -> (c -> [GlobalAttributes]) -> (LNode l -> Attributes) -> (LEdge e -> Attributes) -> DotGraph Node
- assignCluster :: ClusterLabel cl => LNode cl -> NodeCluster (Cluster cl) (NodeLabel cl)
- noAttributes :: a -> Attributes
- showPath :: Show a => [a] -> String
- showPath' :: (a -> String) -> [a] -> String
- showCycle :: Show a => [a] -> String
- showCycle' :: (a -> String) -> [a] -> String
- showNodes :: Show a => [a] -> String
- showNodes' :: (a -> String) -> [a] -> String
- blockPrint :: Show a => [a] -> String
- blockPrint' :: [String] -> String
- blockPrintList :: Show a => [a] -> String
- blockPrintList' :: [String] -> String
- blockPrintWith :: Show a => String -> [a] -> String
- blockPrintWith' :: String -> [String] -> String
Graph visualisation.
Simple wrappers around the Haskell Data.GraphViz library to turn
GraphData
s into basic DotGraph
s for processing by the GraphViz
suite of applications.
graphviz :: GraphData n e -> [GlobalAttributes] -> (LNode n -> Attributes) -> (LEdge e -> Attributes) -> DotGraph NodeSource
graphvizClusters :: ClusterLabel cl => GraphData cl e -> [GlobalAttributes] -> (Cluster cl -> [GlobalAttributes]) -> (LNode (NodeLabel cl) -> Attributes) -> (LEdge e -> Attributes) -> DotGraph NodeSource
Convert the clustered GraphData
into DotGraph
format with the
given Attribute
s. Cluster the nodes based upon their
ClusterLabel
clusters.
graphvizClusters' :: Ord c => GraphData n e -> [GlobalAttributes] -> (LNode n -> NodeCluster c l) -> (c -> Maybe GraphID) -> (c -> [GlobalAttributes]) -> (LNode l -> Attributes) -> (LEdge e -> Attributes) -> DotGraph NodeSource
assignCluster :: ClusterLabel cl => LNode cl -> NodeCluster (Cluster cl) (NodeLabel cl)Source
A function to convert an LNode
to the required NodeCluster
for use with the GraphViz library.
noAttributes :: a -> AttributesSource
Used to state that GraphViz should use the default Attribute
s
for the given value.
Showing node groupings.
Printing different lists of labels.
showCycle :: Show a => [a] -> StringSource
Print a cycle: copies the first node to the end of the list,
and then calls showPath
.
showCycle' :: (a -> String) -> [a] -> StringSource
Print a cycle: copies the first node to the end of the list,
and then calls showPath'
.
showNodes' :: (a -> String) -> [a] -> StringSource
Show a group of nodes, with no implicit ordering.
Various printing functions.
blockPrint :: Show a => [a] -> StringSource
Attempt to convert the String
form of a list into
as much of a square shape as possible, using a single
space as a separation string.
blockPrint' :: [String] -> StringSource
Attempt to convert a list of String
s into a single String
that is roughly a square shape, with a single space as a row
separator.
blockPrintList :: Show a => [a] -> StringSource
Attempt to convert the String
form of a list into
as much of a square shape as possible, separating values
with commas.
blockPrintList' :: [String] -> StringSource
Attempt to combine a list of String
s into as much of a
square shape as possible, separating values with commas.
blockPrintWith :: Show a => String -> [a] -> StringSource
Attempt to convert the String
form of a list into
as much of a square shape as possible, using the given
separation string between elements in the same row.
blockPrintWith' :: String -> [String] -> StringSource
Attempt to convert the combined form of a list of String
s
into as much of a square shape as possible, using the given
separation string between elements in the same row.