| Maintainer | Ivan.Miljenovic@gmail.com |
|---|
Data.Graph.Analysis.Visualisation
Description
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
GraphDatas into basic DotGraphs 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 Attributes. 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 Attributes
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 Strings 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 Strings 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 Strings
into as much of a square shape as possible, using the given
separation string between elements in the same row.