|Maintainer||Andy Gill <firstname.lastname@example.org>|
This module provides a simple interface for building .dot graph files, for input into the dot and graphviz tools. It includes a monadic interface for building graphs.
- data Dot a
- node :: [(String, String)] -> Dot NodeId
- data NodeId
- userNodeId :: Int -> NodeId
- userNode :: NodeId -> [(String, String)] -> Dot ()
- edge :: NodeId -> NodeId -> [(String, String)] -> Dot ()
- (.->.) :: NodeId -> NodeId -> Dot ()
- showDot :: Dot a -> String
- scope :: Dot a -> Dot a
- attribute :: (String, String) -> Dot ()
- share :: [(String, String)] -> [NodeId] -> Dot ()
- same :: [NodeId] -> Dot ()
- cluster :: Dot a -> Dot (NodeId, a)
userNodeId allows a user to use their own (Int-based) node id's, without needing to remap them.
userNode takes a NodeId, and adds some attributes to that node.
Showing a graph
share is when a set of nodes share specific attributes. Usually used for layout tweaking.