graphviz-2999.6.0.0: GraphViz bindings for Haskell.Source codeContentsIndex
Data.GraphViz.Attributes
MaintainerIvan.Miljenovic@gmail.com
Contents
The actual Dot attributes.
Validity functions on Attribute values.
Value types for Attributes.
Types representing the Dot grammar for ArrowType.
Default ArrowType aliases.
The 9 primitive ArrowShapes.
5 derived Arrows.
5 supported cases for backwards compatibility
ArrowModifier instances
Description

This module defines the various attributes that different parts of a GraphViz graph can have. These attributes are based on the documentation found at: http://graphviz.org/doc/info/attrs.html

For more information on usage, etc. please see that document.

A summary of known current constraints/limitations/differences:

  • There might still be a few cases where quotes are still not escaped/parsed correctly; if you find such a situation, please let me know; however, you should be able to use String values directly without having to worry about when quotes are required or extra escaping of quote characters as PrintDot and ParseDot instances for String should take care of that for you.
  • Note that for an edge, in Dot parlance if the edge goes from A to B, then A is the tail node and B is the head node (since A is at the tail end of the arrow).
  • When parsing named Color values, the entire value entered is kept as-is; this library as yet has no understanding of different color schemes, etc.
  • ColorList and PointfList are defined as actual lists (but LayerList is not). Note that for the Color Attribute for node values, only a single Color is valid; edges are allowed multiple colors with one spline/arrow per color in the list (but you must have at least one Color in the list). This might be changed in future.
  • Style is implemented as a list of StyleItem values; note that empty lists are not allowed.
  • A lot of values have a possible value of none. These now have custom constructors. In fact, most constructors have been expanded upon to give an idea of what they represent rather than using generic terms.
  • PointF and Point have been combined, and feature support for pure Int-based co-ordinates as well as Double ones (i.e. no floating point-only points for Point). The optional ! and third value for Point are not available.
  • Rect uses two Point values to denote the lower-left and top-right corners.
  • The two LabelLoc attributes have been combined.
  • The defined LayerSep is not used to parse LayerRange or LayerList; the default ([' ', ':', '\t']) is instead used.
  • SplineType has been replaced with [Spline].
  • Only polygon-based Shapes are available.
  • PortPos only has the CompassPoint option, not PortName[:CompassPoint] (since record shapes aren't allowed, and parsing HTML-like labels could be problematic).
  • Not every Attribute is fully documented/described. However, all those which have specific allowed values should be covered.
  • Deprecated Overlap algorithms are not defined.
Synopsis
data Attribute
= Damping Double
| K Double
| URL URL
| ArrowHead ArrowType
| ArrowSize Double
| ArrowTail ArrowType
| Aspect AspectType
| Bb Rect
| BgColor Color
| Center Bool
| Charset String
| ClusterRank ClusterMode
| Color [Color]
| ColorScheme String
| Comment String
| Compound Bool
| Concentrate Bool
| Constraint Bool
| Decorate Bool
| DefaultDist Double
| Dim Int
| Dimen Int
| Dir DirType
| DirEdgeConstraints DEConstraints
| Distortion Double
| DPI Double
| EdgeURL URL
| EdgeTarget EscString
| EdgeTooltip EscString
| Epsilon Double
| ESep DPoint
| FillColor Color
| FixedSize Bool
| FontColor Color
| FontName String
| FontNames String
| FontPath String
| FontSize Double
| Group String
| HeadURL URL
| HeadClip Bool
| HeadLabel Label
| HeadPort PortPos
| HeadTarget EscString
| HeadTooltip EscString
| Height Double
| ID Label
| Image String
| ImageScale ScaleType
| Label Label
| LabelURL URL
| LabelAngle Double
| LabelDistance Double
| LabelFloat Bool
| LabelFontColor Color
| LabelFontName String
| LabelFontSize Double
| LabelJust Justification
| LabelLoc VerticalPlacement
| LabelTarget EscString
| LabelTooltip EscString
| Landscape Bool
| Layer LayerRange
| Layers LayerList
| LayerSep String
| Layout String
| Len Double
| Levels Int
| LevelsGap Double
| LHead String
| LPos Point
| LTail String
| Margin DPoint
| MaxIter Int
| MCLimit Double
| MinDist Double
| MinLen Int
| Mode ModeType
| Model Model
| Mosek Bool
| NodeSep Double
| NoJustify Bool
| Normalize Bool
| Nslimit Double
| Nslimit1 Double
| Ordering String
| Orientation Double
| OrientationGraph String
| OutputOrder OutputMode
| Overlap Overlap
| OverlapScaling Double
| Pack Pack
| PackMode PackMode
| Pad DPoint
| Page Point
| PageDir PageDir
| PenColor Color
| PenWidth Double
| Peripheries Int
| Pin Bool
| Pos Pos
| QuadTree QuadType
| Quantum Double
| Rank RankType
| RankDir RankDir
| Ranksep Double
| Ratio Ratios
| Rects Rect
| Regular Bool
| ReMinCross Bool
| RepulsiveForce Double
| Root Root
| Rotate Int
| SameHead String
| SameTail String
| SamplePoints Int
| SearchSize Int
| Sep DPoint
| Shape Shape
| ShapeFile String
| ShowBoxes Int
| Sides Int
| Size Point
| Skew Double
| Smoothing SmoothType
| SortV Int
| Splines EdgeType
| Start StartType
| Style [StyleItem]
| StyleSheet String
| TailURL URL
| TailClip Bool
| TailLabel Label
| TailPort PortPos
| TailTarget EscString
| TailTooltip EscString
| Target EscString
| Tooltip EscString
| TrueColor Bool
| Vertices [Point]
| ViewPort ViewPort
| VoroMargin Double
| Weight Double
| Width Double
| Z Double
type Attributes = [Attribute]
usedByGraphs :: Attribute -> Bool
usedBySubGraphs :: Attribute -> Bool
usedByClusters :: Attribute -> Bool
usedByNodes :: Attribute -> Bool
usedByEdges :: Attribute -> Bool
type EscString = String
newtype URL = UStr {
urlString :: EscString
}
newtype ArrowType = AType [(ArrowModifier, ArrowShape)]
data AspectType
= RatioOnly Double
| RatioPassCount Double Int
data Rect = Rect Point Point
data Color
= RGB {
red :: Word8
green :: Word8
blue :: Word8
}
| RGBA {
red :: Word8
green :: Word8
blue :: Word8
alpha :: Word8
}
| HSV {
hue :: Double
saturation :: Double
value :: Double
}
| ColorName String
data ClusterMode
= Local
| Global
| NoCluster
data DirType
= Forward
| Back
| Both
| NoDir
data DEConstraints
= EdgeConstraints
| NoConstraints
| HierConstraints
data DPoint
= DVal Double
| PVal Point
data ModeType
= Major
| KK
| Hier
| IpSep
data Model
= ShortPath
| SubSet
| Circuit
data Label
= StrLabel EscString
| URLLabel URL
data Point
= Point Int Int
| PointD Double Double
data Overlap
= KeepOverlaps
| RemoveOverlaps
| ScaleOverlaps
| ScaleXYOverlaps
| PrismOverlap (Maybe Int)
| CompressOverlap
| VpscOverlap
| IpsepOverlap
data LayerRange
= LRID LayerID
| LRS LayerID String LayerID
data LayerID
= AllLayers
| LRInt Int
| LRName String
data LayerList = LL String [(String, String)]
data OutputMode
= BreadthFirst
| NodesFirst
| EdgesFirst
data Pack
= DoPack
| DontPack
| PackMargin Int
data PackMode
= PackNode
| PackClust
| PackGraph
| PackArray Bool Bool (Maybe Int)
data Pos
= PointPos Point
| SplinePos [Spline]
data EdgeType
= SplineEdges
| LineEdges
| NoEdges
| PolyLine
| CompoundEdge
data PageDir
= Bl
| Br
| Tl
| Tr
| Rb
| Rt
| Lb
| Lt
data Spline = Spline (Maybe Point) (Maybe Point) [Point]
data QuadType
= NormalQT
| FastQT
| NoQT
data Root
= IsCentral
| NotCentral
| NodeName String
data RankType
= SameRank
| MinRank
| SourceRank
| MaxRank
| SinkRank
data RankDir
= FromTop
| FromLeft
| FromBottom
| FromRight
data Shape
= BoxShape
| Polygon
| Ellipse
| Circle
| PointShape
| Egg
| Triangle
| PlainText
| DiamondShape
| Trapezium
| Parallelogram
| House
| Pentagon
| Hexagon
| Septagon
| Octagon
| DoubleCircle
| DoubleOctagon
| TripleOctagon
| InvTriangle
| InvTrapezium
| InvHouse
| MDiamond
| MSquare
| MCircle
| Note
| Tab
| Folder
| Box3D
| Component
data SmoothType
= NoSmooth
| AvgDist
| GraphDist
| PowerDist
| RNG
| Spring
| TriangleSmooth
data StartType
= StartStyle STStyle
| StartSeed Int
| StartStyleSeed STStyle Int
data STStyle
= RegularStyle
| SelfStyle
| RandomStyle
data StyleItem = SItem StyleName [String]
data StyleName
= Dashed
| Dotted
| Solid
| Bold
| Invisible
| Filled
| Diagonals
| Rounded
| DD String
newtype PortPos = PP CompassPoint
data CompassPoint
= North
| NorthEast
| East
| SouthEast
| South
| SouthWest
| West
| NorthWest
| CenterPoint
| NoCP
data ViewPort = VP {
wVal :: Double
hVal :: Double
zVal :: Double
focus :: Maybe FocusType
}
data FocusType
= XY Point
| NodeFocus String
data VerticalPlacement
= VTop
| VCenter
| VBottom
data ScaleType
= UniformScale
| NoScale
| FillWidth
| FillHeight
| FillBoth
data Justification
= JLeft
| JRight
| JCenter
data Ratios
= AspectRatio Double
| FillRatio
| CompressRatio
| ExpandRatio
| AutoRatio
data ArrowShape
= Box
| Crow
| Diamond
| DotArrow
| Inv
| NoArrow
| Normal
| Tee
| Vee
data ArrowModifier = ArrMod {
arrowFill :: ArrowFill
arrowSide :: ArrowSide
}
data ArrowFill
= OpenArrow
| FilledArrow
data ArrowSide
= LeftSide
| RightSide
| BothSides
box :: ArrowType
crow :: ArrowType
diamond :: ArrowType
dotArrow :: ArrowType
inv :: ArrowType
noArrow :: ArrowType
normal :: ArrowType
tee :: ArrowType
vee :: ArrowType
oDot :: ArrowType
invDot :: ArrowType
invODot :: ArrowType
oBox :: ArrowType
oDiamond :: ArrowType
eDiamond :: ArrowType
openArr :: ArrowType
halfOpen :: ArrowType
emptyArr :: ArrowType
invEmpty :: ArrowType
noMods :: ArrowModifier
openMod :: ArrowModifier
The actual Dot attributes.
data Attribute Source

These attributes have been implemented in a permissive manner: that is, rather than split them up based on which type of value they are allowed, they have all been included in the one data type, with functions to determine if they are indeed valid for what they're being applied to.

To interpret the Valid for listings:

G
Valid for Graphs.
C
Valid for Clusters.
S
Valid for Sub-Graphs (and also Clusters).
N
Valid for Nodes.
E
Valid for Edges.

The Default listings are those that the various GraphViz commands use if that Attribute isn't specified (in cases where this is none, this is equivalent to a Nothing value; that is, no value is used). The Parsing Default listings represent what value is used (i.e. corresponds to True) when the Attribute name is listed on its own in Dot source code.

Constructors
Damping DoubleValid for: G; Default: 0.99; Minimum: 0.0; Notes: neato only
K DoubleValid for: GC; Default: 0.3; Minimum: 0; Notes: sfdp, fdp only
URL URLValid for: ENGC; Default: none; Notes: svg, postscript, map only
ArrowHead ArrowTypeValid for: E; Default: normal
ArrowSize DoubleValid for: E; Default: 1.0; Minimum: 0.0
ArrowTail ArrowTypeValid for: E; Default: normal
Aspect AspectTypeValid for: G; Notes: dot only
Bb RectValid for: G; Notes: write only
BgColor ColorValid for: GC; Default: none
Center BoolValid for: G; Default: False; Parsing Default: True
Charset StringValid for: G; Default: "UTF-8"
ClusterRank ClusterModeValid for: G; Default: Local; Notes: dot only
Color [Color]Valid for: ENC; Default: black
ColorScheme StringValid for: ENCG; Default: ""
Comment StringValid for: ENG; Default: ""
Compound BoolValid for: G; Default: False; Parsing Default: True; Notes: dot only
Concentrate BoolValid for: G; Default: False; Parsing Default: True
Constraint BoolValid for: E; Default: True; Parsing Default: True; Notes: dot only
Decorate BoolValid for: E; Default: False; Parsing Default: True
DefaultDist DoubleValid for: G; Default: 1+(avg. len)*sqrt(|V|); Minimum: epsilon; Notes: neato only
Dim IntValid for: G; Default: 2; Minimum: 2; Notes: sfdp, fdp, neato only
Dimen IntValid for: G; Default: 2; Minimum: 2; Notes: sfdp, fdp, neato only
Dir DirTypeValid for: E; Default: Forward (directed), NoDir (undirected)
DirEdgeConstraints DEConstraintsValid for: G; Default: NoConstraints; Parsing Default: EdgeConstraints; Notes: neato only
Distortion DoubleValid for: N; Default: 0.0; Minimum: -100.0
DPI DoubleValid for: G; Default: 96.0, 0.0; Notes: svg, bitmap output only; "resolution" is a synonym
EdgeURL URLValid for: E; Default: ""; Notes: svg, map only
EdgeTarget EscStringValid for: E; Default: none; Notes: svg, map only
EdgeTooltip EscStringValid for: E; Default: ""; Notes: svg, cmap only
Epsilon DoubleValid for: G; Default: .0001 * # nodes (mode == KK), .0001 (mode == Major); Notes: neato only
ESep DPointValid for: G; Default: +3; Notes: not dot
FillColor ColorValid for: NC; Default: lightgrey (nodes), black (clusters)
FixedSize BoolValid for: N; Default: False; Parsing Default: True
FontColor ColorValid for: ENGC; Default: black
FontName StringValid for: ENGC; Default: "Times-Roman"
FontNames StringValid for: G; Default: ""; Notes: svg only
FontPath StringValid for: G; Default: system-dependent
FontSize DoubleValid for: ENGC; Default: 14.0; Minimum: 1.0
Group StringValid for: N; Default: ""; Notes: dot only
HeadURL URLValid for: E; Default: ""; Notes: svg, map only
HeadClip BoolValid for: E; Default: True; Parsing Default: True
HeadLabel LabelValid for: E; Default: ""
HeadPort PortPosValid for: E; Default: PP CenterPoint
HeadTarget EscStringValid for: E; Default: none; Notes: svg, map only
HeadTooltip EscStringValid for: E; Default: ""; Notes: svg, cmap only
Height DoubleValid for: N; Default: 0.5; Minimum: 0.02
ID LabelValid for: GNE; Default: ""; Notes: svg, postscript, map only
Image StringValid for: N; Default: ""
ImageScale ScaleTypeValid for: N; Default: NoScale; Parsing Default: UniformScale
Label LabelValid for: ENGC; Default: StrLabel "N" (nodes), StrLabel "" (otherwise)
LabelURL URLValid for: E; Default: ""; Notes: svg, map only
LabelAngle DoubleValid for: E; Default: -25.0; Minimum: -180.0
LabelDistance DoubleValid for: E; Default: 1.0; Minimum: 0.0
LabelFloat BoolValid for: E; Default: False; Parsing Default: True
LabelFontColor ColorValid for: E; Default: black
LabelFontName StringValid for: E; Default: "Times-Roman"
LabelFontSize DoubleValid for: E; Default: 14.0; Minimum: 1.0
LabelJust JustificationValid for: GC; Default: JCenter
LabelLoc VerticalPlacementValid for: GCN; Default: VTop (clusters), VBottom (root graphs), VCenter (nodes)
LabelTarget EscStringValid for: E; Default: none; Notes: svg, map only
LabelTooltip EscStringValid for: E; Default: ""; Notes: svg, cmap only
Landscape BoolValid for: G; Default: False; Parsing Default: True
Layer LayerRangeValid for: EN; Default: ""
Layers LayerListValid for: G; Default: ""
LayerSep StringValid for: G; Default: " :t"
Layout StringValid for: G; Default: ""
Len DoubleValid for: E; Default: 1.0 (neato), 0.3 (fdp); Notes: fdp, neato only
Levels IntValid for: G; Default: MAXINT; Minimum: 0; Notes: sfdp only
LevelsGap DoubleValid for: G; Default: 0.0; Notes: neato only
LHead StringValid for: E; Default: ""; Notes: dot only
LPos PointValid for: EGC; Notes: write only
LTail StringValid for: E; Default: ""; Notes: dot only
Margin DPointValid for: NG; Default: device-dependent
MaxIter IntValid for: G; Default: 100 * # nodes (mode == KK), 200 (mode == Major), 600 (fdp); Notes: fdp, neato only
MCLimit DoubleValid for: G; Default: 1.0; Notes: dot only
MinDist DoubleValid for: G; Default: 1.0; Minimum: 0.0; Notes: circo only
MinLen IntValid for: E; Default: 1; Minimum: 0; Notes: dot only
Mode ModeTypeValid for: G; Default: Major; Notes: neato only
Model ModelValid for: G; Default: ShortPath; Notes: neato only
Mosek BoolValid for: G; Default: False; Parsing Default: True; Notes: neato only; requires the Mosek software
NodeSep DoubleValid for: G; Default: 0.25; Minimum: 0.02; Notes: dot only
NoJustify BoolValid for: GCNE; Default: False; Parsing Default: True
Normalize BoolValid for: G; Default: False; Parsing Default: True; Notes: not dot
Nslimit DoubleValid for: G; Notes: dot only
Nslimit1 DoubleValid for: G; Notes: dot only
Ordering StringValid for: G; Default: ""; Notes: dot only
Orientation DoubleValid for: N; Default: 0.0; Minimum: 360.0
OrientationGraph StringValid for: G; Default: ""; Notes: Landscape if "[lL]*" and rotate not defined
OutputOrder OutputModeValid for: G; Default: BreadthFirst
Overlap OverlapValid for: G; Default: KeepOverlaps; Parsing Default: KeepOverlaps; Notes: not dot
OverlapScaling DoubleValid for: G; Default: -4; Minimum: -1.0e10; Notes: prism only
Pack PackValid for: G; Default: False; Parsing Default: DoPack; Notes: not dot
PackMode PackModeValid for: G; Default: PackNode; Notes: not dot
Pad DPointValid for: G; Default: DVal 0.0555 (4 points)
Page PointValid for: G
PageDir PageDirValid for: G; Default: BL
PenColor ColorValid for: C; Default: black
PenWidth DoubleValid for: CNE; Default: 1.0; Minimum: 0.0
Peripheries IntValid for: NC; Default: shape default (nodes), 1 (clusters); Minimum: 0
Pin BoolValid for: N; Default: False; Parsing Default: True; Notes: fdp, neato only
Pos PosValid for: EN
QuadTree QuadTypeValid for: G; Default: NormalQT; Parsing Default: NormalQT; Notes: sfdp only
Quantum DoubleValid for: G; Default: 0.0; Minimum: 0.0
Rank RankTypeValid for: S; Notes: dot only
RankDir RankDirValid for: G; Default: TB; Notes: dot only
Ranksep DoubleValid for: G; Default: 0.5 (dot), 1.0 (twopi); Minimum: 0.02; Notes: twopi, dot only
Ratio RatiosValid for: G
Rects RectValid for: N; Notes: write only
Regular BoolValid for: N; Default: False; Parsing Default: True
ReMinCross BoolValid for: G; Default: False; Parsing Default: True; Notes: dot only
RepulsiveForce DoubleValid for: G; Default: 1.0; Minimum: 0.0; Notes: sfdp only
Root RootValid for: GN; Default: NodeName "" (graphs), NotCentral (nodes); Parsing Default: IsCentral; Notes: circo, twopi only
Rotate IntValid for: G; Default: 0
SameHead StringValid for: E; Default: ""; Notes: dot only
SameTail StringValid for: E; Default: ""; Notes: dot only
SamplePoints IntValid for: N; Default: 8 (output), 20 (overlap and image maps)
SearchSize IntValid for: G; Default: 30; Notes: dot only
Sep DPointValid for: G; Default: +4; Notes: not dot
Shape ShapeValid for: N; Default: Ellipse
ShapeFile StringValid for: N; Default: ""
ShowBoxes IntValid for: ENG; Default: 0; Minimum: 0; Notes: dot only
Sides IntValid for: N; Default: 4; Minimum: 0
Size PointValid for: G
Skew DoubleValid for: N; Default: 0.0; Minimum: -100.0
Smoothing SmoothTypeValid for: G; Default: NoSmooth; Notes: sfdp only
SortV IntValid for: GCN; Default: 0; Minimum: 0
Splines EdgeTypeValid for: G; Parsing Default: SplineEdges
Start StartTypeValid for: G; Default: ""; Notes: fdp, neato only
Style [StyleItem]Valid for: ENC
StyleSheet StringValid for: G; Default: ""; Notes: svg only
TailURL URLValid for: E; Default: ""; Notes: svg, map only
TailClip BoolValid for: E; Default: True; Parsing Default: True
TailLabel LabelValid for: E; Default: ""
TailPort PortPosValid for: E; Default: center
TailTarget EscStringValid for: E; Default: none; Notes: svg, map only
TailTooltip EscStringValid for: E; Default: ""; Notes: svg, cmap only
Target EscStringValid for: ENGC; Default: none; Notes: svg, map only
Tooltip EscStringValid for: NEC; Default: ""; Notes: svg, cmap only
TrueColor BoolValid for: G; Parsing Default: True; Notes: bitmap output only
Vertices [Point]Valid for: N; Notes: write only
ViewPort ViewPortValid for: G; Default: none
VoroMargin DoubleValid for: G; Default: 0.05; Minimum: 0.0; Notes: not dot
Weight DoubleValid for: E; Default: 1.0; Minimum: 0 (dot), 1 (neato,fdp,sfdp)
Width DoubleValid for: N; Default: 0.75; Minimum: 0.01
Z DoubleValid for: N; Default: 0.0; Minimum: -MAXFLOAT, -1000
show/hide Instances
type Attributes = [Attribute]Source
Validity functions on Attribute values.
usedByGraphs :: Attribute -> BoolSource
Determine if this Attribute is valid for use with Graphs.
usedBySubGraphs :: Attribute -> BoolSource
Determine if this Attribute is valid for use with SubGraphs.
usedByClusters :: Attribute -> BoolSource
Determine if this Attribute is valid for use with Clusters.
usedByNodes :: Attribute -> BoolSource
Determine if this Attribute is valid for use with Nodes.
usedByEdges :: Attribute -> BoolSource
Determine if this Attribute is valid for use with Edges.
Value types for Attributes.
type EscString = StringSource

Some Attributes (mainly label-like ones) take a String argument that allows for extra escape codes. This library doesn't do any extra checks or special parsing for these escape codes, but usage of EscString rather than String indicates that the GraphViz tools will recognise these extra escape codes for these Attributes.

The extra escape codes include (note that these are all Strings):

\N
Replace with the name of the node (for Node Attributes).
\G
Replace with the name of the graph (for Node Attributes) or the name of the graph or cluster, whichever is applicable (for Graph, Cluster and Edge Attributes).
\E
Replace with the name of the edge, formed by the two adjoining nodes and the edge type (for Edge Attributes).
\T
Replace with the name of the tail node (for Edge Attributes).
\H
Replace with the name of the head node (for Edge Attributes).
\L
Replace with the object's label (for all Attributes).

Also, if the Attribute in question is Label, HeadLabel or TailLabel, then \n, \l and \r split the label into lines centered, left-justified and right-justified respectively.

newtype URL Source
Constructors
UStr
urlString :: EscString
show/hide Instances
newtype ArrowType Source

Dot has a basic grammar of arrow shapes which allows usage of up to 1,544,761 different shapes from 9 different basic ArrowShapes. Note that whilst an explicit list is used in the definition of ArrowType, there must be at least one tuple and a maximum of 4 (since that is what is required by Dot). For more information, see: http://graphviz.org/doc/info/arrows.html

The 19 basic arrows shown on the overall attributes page have been defined below as a convenience. Parsing of the 5 backward-compatible special cases is also supported.

Constructors
AType [(ArrowModifier, ArrowShape)]
show/hide Instances
data AspectType Source
Constructors
RatioOnly Double
RatioPassCount Double Int
show/hide Instances
data Rect Source
Constructors
Rect Point Point
show/hide Instances
data Color Source
Constructors
RGB
red :: Word8
green :: Word8
blue :: Word8
RGBA
red :: Word8
green :: Word8
blue :: Word8
alpha :: Word8
HSV
hue :: Double
saturation :: Double
value :: Double
ColorName String
show/hide Instances
data ClusterMode Source
Constructors
Local
Global
NoCluster
show/hide Instances
data DirType Source
Constructors
Forward
Back
Both
NoDir
show/hide Instances
data DEConstraints Source
Only when mode == IpSep.
Constructors
EdgeConstraints
NoConstraints
HierConstraints
show/hide Instances
data DPoint Source
Either a Double or a Point.
Constructors
DVal Double
PVal Point
show/hide Instances
data ModeType Source
Constructors
Major
KK
Hier
IpSep
show/hide Instances
data Model Source
Constructors
ShortPath
SubSet
Circuit
show/hide Instances
data Label Source
Constructors
StrLabel EscString
URLLabel URL
show/hide Instances
data Point Source
Constructors
Point Int Int
PointD Double Double
show/hide Instances
data Overlap Source
Constructors
KeepOverlaps
RemoveOverlaps
ScaleOverlaps
ScaleXYOverlaps
PrismOverlap (Maybe Int)Only when sfdp is available, Int is non-negative
CompressOverlap
VpscOverlap
IpsepOverlapOnly when mode == IpSep
show/hide Instances
data LayerRange Source
Constructors
LRID LayerID
LRS LayerID String LayerID
show/hide Instances
data LayerID Source
Constructors
AllLayers
LRInt Int
LRName String
show/hide Instances
data LayerList Source
The list represent (Separator, Name)
Constructors
LL String [(String, String)]
show/hide Instances
data OutputMode Source
Constructors
BreadthFirst
NodesFirst
EdgesFirst
show/hide Instances
data Pack Source
Constructors
DoPack
DontPack
PackMargin IntIf non-negative, then packs; otherwise doesn't.
show/hide Instances
data PackMode Source
Constructors
PackNode
PackClust
PackGraph
PackArray Bool Bool (Maybe Int)Sort by cols, sort by user, number of rows/cols
show/hide Instances
data Pos Source
Constructors
PointPos Point
SplinePos [Spline]
show/hide Instances
data EdgeType Source
Controls how (and if) edges are represented.
Constructors
SplineEdges
LineEdges
NoEdges
PolyLine
CompoundEdgefdp only
show/hide Instances
data PageDir Source
Upper-case first character is major order; lower-case second character is minor order.
Constructors
Bl
Br
Tl
Tr
Rb
Rt
Lb
Lt
show/hide Instances
data Spline Source
The number of points in the list must be equivalent to 1 mod 3; note that this is not checked.
Constructors
Spline (Maybe Point) (Maybe Point) [Point]
show/hide Instances
data QuadType Source
Constructors
NormalQT
FastQT
NoQT
show/hide Instances
data Root Source
Specify the root node either as a Node attribute or a Graph attribute.
Constructors
IsCentralFor Nodes only
NotCentralFor Nodes only
NodeName StringFor Graphs only
show/hide Instances
data RankType Source
Constructors
SameRank
MinRank
SourceRank
MaxRank
SinkRank
show/hide Instances
data RankDir Source
Constructors
FromTop
FromLeft
FromBottom
FromRight
show/hide Instances
data Shape Source
Constructors
BoxShapeHas synonyms of rect and rectangle.
Polygon
Ellipse
Circle
PointShape
Egg
Triangle
PlainTextHas synonym of none.
DiamondShape
Trapezium
Parallelogram
House
Pentagon
Hexagon
Septagon
Octagon
DoubleCircle
DoubleOctagon
TripleOctagon
InvTriangle
InvTrapezium
InvHouse
MDiamond
MSquare
MCircle
Note
Tab
Folder
Box3D
Component
show/hide Instances
data SmoothType Source
Constructors
NoSmooth
AvgDist
GraphDist
PowerDist
RNG
Spring
TriangleSmooth
show/hide Instances
data StartType Source
It is assumed that at least one of these is Just{}.
Constructors
StartStyle STStyle
StartSeed Int
StartStyleSeed STStyle Int
show/hide Instances
data STStyle Source
Constructors
RegularStyle
SelfStyle
RandomStyle
show/hide Instances
data StyleItem Source
Constructors
SItem StyleName [String]
show/hide Instances
data StyleName Source
Constructors
DashedNodes and Edges
DottedNodes and Edges
SolidNodes and Edges
BoldNodes and Edges
InvisibleNodes and Edges
FilledNodes and Clusters
DiagonalsNodes only
RoundedNodes and Clusters
DD StringDevice Dependent
show/hide Instances
newtype PortPos Source
Constructors
PP CompassPoint
show/hide Instances
data CompassPoint Source
Constructors
North
NorthEast
East
SouthEast
South
SouthWest
West
NorthWest
CenterPoint
NoCP
show/hide Instances
data ViewPort Source
Constructors
VP
wVal :: Double
hVal :: Double
zVal :: Double
focus :: Maybe FocusType
show/hide Instances
data FocusType Source
Constructors
XY Point
NodeFocus String
show/hide Instances
data VerticalPlacement Source
Constructors
VTop
VCenterOnly valid for Nodes.
VBottom
show/hide Instances
data ScaleType Source
Constructors
UniformScale
NoScale
FillWidth
FillHeight
FillBoth
show/hide Instances
data Justification Source
Constructors
JLeft
JRight
JCenter
show/hide Instances
data Ratios Source
Constructors
AspectRatio Double
FillRatio
CompressRatio
ExpandRatio
AutoRatio
show/hide Instances
Types representing the Dot grammar for ArrowType.
data ArrowShape Source
Constructors
Box
Crow
Diamond
DotArrow
Inv
NoArrow
Normal
Tee
Vee
show/hide Instances
data ArrowModifier Source
What modifications to apply to an ArrowShape.
Constructors
ArrMod
arrowFill :: ArrowFill
arrowSide :: ArrowSide
show/hide Instances
data ArrowFill Source
Constructors
OpenArrow
FilledArrow
show/hide Instances
data ArrowSide Source
Represents which side (when looking towards the node the arrow is pointing to) is drawn.
Constructors
LeftSide
RightSide
BothSides
show/hide Instances
Default ArrowType aliases.
The 9 primitive ArrowShapes.
box :: ArrowTypeSource
crow :: ArrowTypeSource
diamond :: ArrowTypeSource
dotArrow :: ArrowTypeSource
inv :: ArrowTypeSource
noArrow :: ArrowTypeSource
normal :: ArrowTypeSource
tee :: ArrowTypeSource
vee :: ArrowTypeSource
5 derived Arrows.
oDot :: ArrowTypeSource
invDot :: ArrowTypeSource
invODot :: ArrowTypeSource
oBox :: ArrowTypeSource
oDiamond :: ArrowTypeSource
5 supported cases for backwards compatibility
eDiamond :: ArrowTypeSource
openArr :: ArrowTypeSource
halfOpen :: ArrowTypeSource
emptyArr :: ArrowTypeSource
invEmpty :: ArrowTypeSource
ArrowModifier instances
noMods :: ArrowModifierSource
Apply no modifications to an ArrowShape.
openMod :: ArrowModifierSource
OpenArrow and BothSides
Produced by Haddock version 2.6.0