graphviz-2999.20.0.4: Bindings to Graphviz for graph visualisation.

Copyright(c) Matthew Sackman Ivan Lazar Miljenovic
License3-Clause BSD-style
MaintainerIvan.Miljenovic@gmail.com
Safe HaskellNone
LanguageHaskell2010

Data.GraphViz.Attributes.Complete

Contents

Description

If you are just using graphviz to create basic Dot graphs, then you probably want to use Data.GraphViz.Attributes rather than this module.

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:

  • 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).
  • ColorList, DoubleList and PointfList are defined as actual lists (LayerList needs a newtype for other reasons). All of these are assumed to be non-empty lists.
  • For the various *Color attributes that take in a list of Attribute values, usually only one color is used. The Color attribute for edges allows multiple values; for other attributes, two values are supported for gradient fills in Graphviz >= 2.29.0.
  • 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.
  • Rect uses two Point values to denote the lower-left and top-right corners.
  • The two LabelLoc attributes have been combined.
  • SplineType has been replaced with [Spline].
  • Only polygon-based Attributes are available.
  • Not every Attribute is fully documented/described. However, all those which have specific allowed values should be covered.
  • Deprecated Attribute algorithms are not defined. Furthermore, the ability to specify an integer prefix for use with the fdp layout is not supported.
  • The global Orientation attribute is not defined, as it is difficult to distinguish from the node-based Orientation Attribute; also, its behaviour is duplicated by Rotate.
  • The charset attribute is not available, as graphviz only supports UTF-8 encoding (as it is not currently feasible nor needed to also support Latin1 encoding).
  • In Graphviz, when a node or edge has a list of attributes, the colorscheme which is used to identify a color can be set after that color (e.g. [colorscheme=x11,color=grey,colorscheme=svg] uses the svg colorscheme's definition of grey, which is different from the x11 one. Instead, graphviz parses them in order.
Synopsis

The actual Dot attributes.

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.

Please note that the UnknownAttribute Attribute is defined primarily for backwards-compatibility purposes. It is possible to use it directly for custom purposes; for more information, please see CustomAttribute. The deleteCustomAttributes can be used to delete these values.

data Attribute Source #

Attributes are used to customise the layout and design of Dot graphs. Care must be taken to ensure that the attribute you use is valid, as not all attributes can be used everywhere.

Constructors

Damping Double

Valid for: G; Default: 0.99; Minimum: 0.0; Notes: Neato only

K Double

Valid for: GC; Default: 0.3; Minimum: 0; Notes: Sfdp, Fdp only

URL EscString

Valid for: ENGC; Default: none; Notes: svg, postscript, map only

Area Double

Valid for: NC; Default: 1.0; Minimum: >0; Notes: Patchwork only, requires Graphviz >= 2.30.0

ArrowHead ArrowType

Valid for: E; Default: normal

ArrowSize Double

Valid for: E; Default: 1.0; Minimum: 0.0

ArrowTail ArrowType

Valid for: E; Default: normal

Background Text

Valid for: G; Default: none; Notes: xdot only

BoundingBox Rect

Valid for: G; Notes: write only

BgColor ColorList

Valid for: GC; Default: []

Center Bool

Valid for: G; Default: False; Parsing Default: True

ClusterRank ClusterMode

Valid for: G; Default: Local; Notes: Dot only

Color ColorList

Valid for: ENC; Default: [WC (Color Black) Nothing]

ColorScheme ColorScheme

Valid for: ENCG; Default: X11

Comment Text

Valid for: ENG; Default: ""

Compound Bool

Valid for: G; Default: False; Parsing Default: True; Notes: Dot only

Concentrate Bool

Valid for: G; Default: False; Parsing Default: True

Constraint Bool

Valid for: E; Default: True; Parsing Default: True; Notes: Dot only

Decorate Bool

Valid for: E; Default: False; Parsing Default: True

DefaultDist Double

Valid for: G; Default: 1+(avg. len)*sqrt(abs(V)) (unable to statically define); Minimum: The value of Epsilon.; Notes: Neato only, only if Attribute DontPack

Dim Int

Valid for: G; Default: 2; Minimum: 2; Notes: maximum of 10; Sfdp, Fdp, Neato only

Dimen Int

Valid for: G; Default: 2; Minimum: 2; Notes: maximum of 10; Sfdp, Fdp, Neato only

Dir DirType

Valid for: E; Default: Forward (directed), NoDir (undirected)

DirEdgeConstraints DEConstraints

Valid for: G; Default: NoConstraints; Parsing Default: EdgeConstraints; Notes: Neato only

Distortion Double

Valid for: N; Default: 0.0; Minimum: -100.0

DPI Double

Valid for: G; Default: 96.0, 0.0; Notes: svg, bitmap output only; "resolution" is a synonym

EdgeURL EscString

Valid for: E; Default: ""; Notes: svg, map only

EdgeTarget EscString

Valid for: E; Default: none; Notes: svg, map only

EdgeTooltip EscString

Valid for: E; Default: ""; Notes: svg, cmap only

Epsilon Double

Valid for: G; Default: .0001 * # nodes (mode == KK), .0001 (mode == Major); Notes: Neato only

ESep DPoint

Valid for: G; Default: DVal 3; Notes: not Dot

FillColor ColorList

Valid for: NEC; Default: [WC (Color LightGray) Nothing] (nodes), [WC (Color Black) Nothing] (clusters)

FixedSize NodeSize

Valid for: N; Default: GrowAsNeeded; Parsing Default: SetNodeSize

FontColor Color

Valid for: ENGC; Default: Color Black

FontName Text

Valid for: ENGC; Default: "Times-Roman"

FontNames SVGFontNames

Valid for: G; Default: SvgNames; Notes: svg only

FontPath Paths

Valid for: G; Default: system dependent

FontSize Double

Valid for: ENGC; Default: 14.0; Minimum: 1.0

ForceLabels Bool

Valid for: G; Default: True; Parsing Default: True; Notes: only for XLabel attributes, requires Graphviz >= 2.29.0

GradientAngle Int

Valid for: NCG; Default: 0; Notes: requires Graphviz >= 2.29.0

Group Text

Valid for: N; Default: ""; Notes: Dot only

HeadURL EscString

Valid for: E; Default: ""; Notes: svg, map only

Head_LP Point

Valid for: E; Notes: write only, requires Graphviz >= 2.30.0

HeadClip Bool

Valid for: E; Default: True; Parsing Default: True

HeadLabel Label

Valid for: E; Default: StrLabel ""

HeadPort PortPos

Valid for: E; Default: PortPos CenterPoint

HeadTarget EscString

Valid for: E; Default: none; Notes: svg, map only

HeadTooltip EscString

Valid for: E; Default: ""; Notes: svg, cmap only

Height Double

Valid for: N; Default: 0.5; Minimum: 0.02

ID EscString

Valid for: GNE; Default: ""; Notes: svg, postscript, map only

Image Text

Valid for: N; Default: ""

ImagePath Paths

Valid for: G; Default: Paths []; Notes: Printing and parsing is OS-specific, requires Graphviz >= 2.29.0

ImageScale ScaleType

Valid for: N; Default: NoScale; Parsing Default: UniformScale

InputScale Double

Valid for: N; Default: none; Notes: Fdp, Neato only, a value of 0 is equivalent to being 72, requires Graphviz >= 2.36.0

Label Label

Valid for: ENGC; Default: StrLabel "\N" (nodes), StrLabel "" (otherwise)

LabelURL EscString

Valid for: E; Default: ""; Notes: svg, map only

LabelScheme LabelScheme

Valid for: G; Default: NotEdgeLabel; Notes: Sfdp only, requires Graphviz >= 2.28.0

LabelAngle Double

Valid for: E; Default: -25.0; Minimum: -180.0

LabelDistance Double

Valid for: E; Default: 1.0; Minimum: 0.0

LabelFloat Bool

Valid for: E; Default: False; Parsing Default: True

LabelFontColor Color

Valid for: E; Default: Color Black

LabelFontName Text

Valid for: E; Default: "Times-Roman"

LabelFontSize Double

Valid for: E; Default: 14.0; Minimum: 1.0

LabelJust Justification

Valid for: GC; Default: JCenter

LabelLoc VerticalPlacement

Valid for: GCN; Default: VTop (clusters), VBottom (root graphs), VCenter (nodes)

LabelTarget EscString

Valid for: E; Default: none; Notes: svg, map only

LabelTooltip EscString

Valid for: E; Default: ""; Notes: svg, cmap only

Landscape Bool

Valid for: G; Default: False; Parsing Default: True

Layer LayerRange

Valid for: ENC; Default: []

LayerListSep LayerListSep

Valid for: G; Default: LLSep ","; Notes: requires Graphviz >= 2.30.0

Layers LayerList

Valid for: G; Default: LL []

LayerSelect LayerRange

Valid for: G; Default: []

LayerSep LayerSep

Valid for: G; Default: LSep " :t"

Layout GraphvizCommand

Valid for: G

Len Double

Valid for: E; Default: 1.0 (Neato), 0.3 (Fdp); Notes: Fdp, Neato only

Levels Int

Valid for: G; Default: maxBound; Minimum: 0; Notes: Sfdp only

LevelsGap Double

Valid for: G; Default: 0.0; Notes: Neato only

LHead Text

Valid for: E; Default: ""; Notes: Dot only

LHeight Double

Valid for: GC; Notes: write only, requires Graphviz >= 2.28.0

LPos Point

Valid for: EGC; Notes: write only

LTail Text

Valid for: E; Default: ""; Notes: Dot only

LWidth Double

Valid for: GC; Notes: write only, requires Graphviz >= 2.28.0

Margin DPoint

Valid for: NGC; Default: device dependent

MaxIter Int

Valid for: G; Default: 100 * # nodes (mode == KK), 200 (mode == Major), 600 (Fdp); Notes: Fdp, Neato only

MCLimit Double

Valid for: G; Default: 1.0; Notes: Dot only

MinDist Double

Valid for: G; Default: 1.0; Minimum: 0.0; Notes: Circo only

MinLen Int

Valid for: E; Default: 1; Minimum: 0; Notes: Dot only

Mode ModeType

Valid for: G; Default: Major (actually Spring for Sfdp, but this isn't used as a default in this library); Notes: Neato, Sfdp only

Model Model

Valid for: G; Default: ShortPath; Notes: Neato only

Mosek Bool

Valid for: G; Default: False; Parsing Default: True; Notes: Neato only; requires the Mosek software

NodeSep Double

Valid for: G; Default: 0.25; Minimum: 0.02

NoJustify Bool

Valid for: GCNE; Default: False; Parsing Default: True

Normalize Normalized

Valid for: G; Default: NotNormalized; Parsing Default: IsNormalized; Notes: not Dot

NoTranslate Bool

Valid for: G; Default: False; Parsing Default: True; Notes: Neato only, requires Graphviz >= 2.38.0

Nslimit Double

Valid for: G; Notes: Dot only

Nslimit1 Double

Valid for: G; Notes: Dot only

Ordering Order

Valid for: GN; Default: none; Notes: Dot only

Orientation Double

Valid for: N; Default: 0.0; Minimum: 360.0

OutputOrder OutputMode

Valid for: G; Default: BreadthFirst

Overlap Overlap

Valid for: G; Default: KeepOverlaps; Parsing Default: KeepOverlaps; Notes: not Dot

OverlapScaling Double

Valid for: G; Default: -4; Minimum: -1.0e10; Notes: PrismOverlap only

OverlapShrink Bool

Valid for: G; Default: True; Parsing Default: True; Notes: PrismOverlap only, requires Graphviz >= 2.36.0

Pack Pack

Valid for: G; Default: DontPack; Parsing Default: DoPack

PackMode PackMode

Valid for: G; Default: PackNode

Pad DPoint

Valid for: G; Default: DVal 0.0555 (4 points)

Page Point

Valid for: G

PageDir PageDir

Valid for: G; Default: Bl

PenColor Color

Valid for: C; Default: Color Black

PenWidth Double

Valid for: CNE; Default: 1.0; Minimum: 0.0

Peripheries Int

Valid for: NC; Default: shape default (nodes), 1 (clusters); Minimum: 0

Pin Bool

Valid for: N; Default: False; Parsing Default: True; Notes: Fdp, Neato only

Pos Pos

Valid for: EN

QuadTree QuadType

Valid for: G; Default: NormalQT; Parsing Default: NormalQT; Notes: Sfdp only

Quantum Double

Valid for: G; Default: 0.0; Minimum: 0.0

Rank RankType

Valid for: S; Notes: Dot only

RankDir RankDir

Valid for: G; Default: FromTop; Notes: Dot only

RankSep [Double]

Valid for: G; Default: [0.5] (Dot), [1.0] (Twopi); Minimum: [0.02]; Notes: Twopi, Dot only

Ratio Ratios

Valid for: G

Rects [Rect]

Valid for: N; Notes: write only

Regular Bool

Valid for: N; Default: False; Parsing Default: True

ReMinCross Bool

Valid for: G; Default: False; Parsing Default: True; Notes: Dot only

RepulsiveForce Double

Valid for: G; Default: 1.0; Minimum: 0.0; Notes: Sfdp only

Root Root

Valid for: GN; Default: NodeName "" (graphs), NotCentral (nodes); Parsing Default: IsCentral; Notes: Circo, Twopi only

Rotate Int

Valid for: G; Default: 0

Rotation Double

Valid for: G; Default: 0; Notes: Sfdp only, requires Graphviz >= 2.28.0

SameHead Text

Valid for: E; Default: ""; Notes: Dot only

SameTail Text

Valid for: E; Default: ""; Notes: Dot only

SamplePoints Int

Valid for: N; Default: 8 (output), 20 (overlap and image maps)

Scale DPoint

Valid for: G; Notes: Not Dot, requires Graphviz >= 2.28.0 (>= 2.38.0 for anything except TwoPi)

SearchSize Int

Valid for: G; Default: 30; Notes: Dot only

Sep DPoint

Valid for: G; Default: DVal 4; Notes: not Dot

Shape Shape

Valid for: N; Default: Ellipse

ShowBoxes Int

Valid for: ENG; Default: 0; Minimum: 0; Notes: Dot only; used for debugging by printing PostScript guide boxes

Sides Int

Valid for: N; Default: 4; Minimum: 0

Size GraphSize

Valid for: G

Skew Double

Valid for: N; Default: 0.0; Minimum: -100.0

Smoothing SmoothType

Valid for: G; Default: NoSmooth; Notes: Sfdp only

SortV Word16

Valid for: GCN; Default: 0; Minimum: 0

Splines EdgeType

Valid for: G; Default: SplineEdges (Dot), LineEdges (other); Parsing Default: SplineEdges

Start StartType

Valid for: G; Default: StartStyleSeed RandomStyle seed for some unknown fixed seed.; Notes: Fdp, Neato only

Style [StyleItem]

Valid for: ENCG

StyleSheet Text

Valid for: G; Default: ""; Notes: svg only

TailURL EscString

Valid for: E; Default: ""; Notes: svg, map only

Tail_LP Point

Valid for: E; Notes: write only, requires Graphviz >= 2.30.0

TailClip Bool

Valid for: E; Default: True; Parsing Default: True

TailLabel Label

Valid for: E; Default: StrLabel ""

TailPort PortPos

Valid for: E; Default: PortPos CenterPoint

TailTarget EscString

Valid for: E; Default: none; Notes: svg, map only

TailTooltip EscString

Valid for: E; Default: ""; Notes: svg, cmap only

Target EscString

Valid for: ENGC; Default: none; Notes: svg, map only

Tooltip EscString

Valid for: NEC; Default: ""; Notes: svg, cmap only

TrueColor Bool

Valid for: G; Parsing Default: True; Notes: bitmap output only

Vertices [Point]

Valid for: N; Notes: write only

ViewPort ViewPort

Valid for: G; Default: none

VoroMargin Double

Valid for: G; Default: 0.05; Minimum: 0.0; Notes: not Dot

Weight Number

Valid for: E; Default: Number 1; Minimum: Number 0 (Dot), Number 1 (Neato,Fdp,Sfdp); Notes: as of Graphviz 2.30: weights for dot need to be Numbers

Width Double

Valid for: N; Default: 0.75; Minimum: 0.01

XDotVersion Version

Valid for: G; Notes: xdot only, requires Graphviz >= 2.34.0, equivalent to specifying version of xdot to be used

XLabel Label

Valid for: EN; Default: StrLabel ""; Notes: requires Graphviz >= 2.29.0

XLP Point

Valid for: EN; Notes: write only, requires Graphviz >= 2.29.0

UnknownAttribute AttributeName Text

Valid for: Assumed valid for all; the fields are Attribute name and value respectively.

Instances
Eq Attribute Source # 
Instance details

Defined in Data.GraphViz.Attributes.Complete

Ord Attribute Source # 
Instance details

Defined in Data.GraphViz.Attributes.Complete

Read Attribute Source # 
Instance details

Defined in Data.GraphViz.Attributes.Complete

Show Attribute Source # 
Instance details

Defined in Data.GraphViz.Attributes.Complete

ParseDot Attribute Source # 
Instance details

Defined in Data.GraphViz.Attributes.Complete

PrintDot Attribute Source # 
Instance details

Defined in Data.GraphViz.Attributes.Complete

sameAttribute :: Attribute -> Attribute -> Bool Source #

Determine if two Attributes are the same type of Attribute.

defaultAttributeValue :: Attribute -> Maybe Attribute Source #

Return the default value for a specific Attribute if possible; graphcluster values are preferred over nodeedge values.

rmUnwantedAttributes :: Attributes -> Attributes Source #

Remove attributes that we don't want to consider:

  • Those that are defaults
  • colorscheme (as the colors embed it anyway)

Validity functions on Attribute values.

usedByGraphs :: Attribute -> Bool Source #

Determine if this Attribute is valid for use with Graphs.

usedBySubGraphs :: Attribute -> Bool Source #

Determine if this Attribute is valid for use with SubGraphs.

usedByClusters :: Attribute -> Bool Source #

Determine if this Attribute is valid for use with Clusters.

usedByNodes :: Attribute -> Bool Source #

Determine if this Attribute is valid for use with Nodes.

usedByEdges :: Attribute -> Bool Source #

Determine if this Attribute is valid for use with Edges.

validUnknown :: AttributeName -> Bool Source #

Determine if the provided Text value is a valid name for an UnknownAttribute.

Custom attributes.

type AttributeName = Text Source #

The name for an UnknownAttribute; must satisfy validUnknown.

type CustomAttribute = Attribute Source #

If performing any custom pre-/post-processing on Dot code, you may wish to utilise some custom Attributes. These are wrappers around the UnknownAttribute constructor (and thus CustomAttribute is just an alias for Attribute).

You should ensure that validUnknown is True for any potential custom attribute name.

customAttribute :: AttributeName -> Text -> CustomAttribute Source #

Create a custom attribute.

isCustom :: Attribute -> Bool Source #

Determines whether or not this is a custom attribute.

customValue :: CustomAttribute -> Text Source #

The value of a custom attribute. Will throw a GraphvizException if the provided Attribute isn't a custom one.

customName :: CustomAttribute -> AttributeName Source #

The name of a custom attribute. Will throw a GraphvizException if the provided Attribute isn't a custom one.

findCustoms :: Attributes -> ([CustomAttribute], Attributes) Source #

Returns all custom attributes and the list of non-custom Attributes.

findSpecifiedCustom :: AttributeName -> Attributes -> Maybe (CustomAttribute, Attributes) Source #

Find the (first instance of the) specified custom attribute and returns it along with all other Attributes.

deleteCustomAttributes :: Attributes -> Attributes Source #

Delete all custom attributes (actually, this will delete all UnknownAttribute values; as such it can also be used to remove legacy attributes).

deleteSpecifiedCustom :: AttributeName -> Attributes -> Attributes Source #

Removes all instances of the specified custom attribute.

Value types for Attributes.

Generic types

data Number Source #

A numeric type with an explicit separation between integers and floating-point values.

Constructors

Int Int 
Dbl Double 

Labels

type EscString = Text Source #

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 Text 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.

data Label Source #

Constructors

StrLabel EscString 
HtmlLabel Label

If PlainText is used, the Label value is the entire "shape"; if anything else except PointShape is used then the Label is embedded within the shape.

RecordLabel RecordFields

For nodes only; requires either Record or MRecord as the shape.

data VerticalPlacement Source #

Constructors

VTop 
VCenter

Only valid for Nodes.

VBottom 
Instances
Bounded VerticalPlacement Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum VerticalPlacement Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq VerticalPlacement Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord VerticalPlacement Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read VerticalPlacement Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show VerticalPlacement Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot VerticalPlacement Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot VerticalPlacement Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data LabelScheme Source #

How to treat a node whose name is of the form "|edgelabel|*" as a special node representing an edge label.

Constructors

NotEdgeLabel

No effect

CloseToCenter

Make node close to center of neighbor

CloseToOldCenter

Make node close to old center of neighbor

RemoveAndStraighten

Use a two-step process.

Instances
Bounded LabelScheme Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum LabelScheme Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq LabelScheme Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord LabelScheme Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read LabelScheme Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show LabelScheme Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot LabelScheme Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot LabelScheme Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data SVGFontNames Source #

The mapping used for FontName values in SVG output.

More information can be found at http://www.graphviz.org/doc/fontfaq.txt.

Constructors

SvgNames

Use the legal generic SVG font names.

PostScriptNames

Use PostScript font names.

FontConfigNames

Use fontconfig font conventions.

Instances
Bounded SVGFontNames Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum SVGFontNames Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq SVGFontNames Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord SVGFontNames Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read SVGFontNames Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show SVGFontNames Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot SVGFontNames Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot SVGFontNames Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Types representing the Dot grammar for records.

type RecordFields = [RecordField] Source #

A RecordFields value should never be empty.

data RecordField Source #

Specifies the sub-values of a record-based label. By default, the cells are laid out horizontally; use FlipFields to change the orientation of the fields (can be applied recursively). To change the default orientation, use RankDir.

Constructors

LabelledTarget PortName EscString 
PortName PortName

Will result in no label for that cell.

FieldLabel EscString 
FlipFields RecordFields 
Instances
Eq RecordField Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord RecordField Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read RecordField Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show RecordField Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot RecordField Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot RecordField Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Labellable RecordField Source # 
Instance details

Defined in Data.GraphViz.Attributes

Labellable RecordFields Source # 
Instance details

Defined in Data.GraphViz.Attributes

data Rect Source #

Should only have 2D points (i.e. created with createPoint).

Constructors

Rect Point Point 

data Justification Source #

Constructors

JLeft 
JRight 
JCenter 
Instances
Bounded Justification Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum Justification Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq Justification Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord Justification Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read Justification Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show Justification Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot Justification Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot Justification Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Nodes

data Shape Source #

Geometries of shapes are affected by the attributes Regular, Peripheries and Orientation.

Constructors

BoxShape

Has synonyms of rect and rectangle.

Polygon

Also affected by Sides, Skew and Distortion.

Ellipse

Has synonym of oval.

Circle 
PointShape

Only affected by Peripheries, Width and Height.

Egg 
Triangle 
PlainText

Has synonym of none. Recommended for HtmlLabels.

DiamondShape 
Trapezium 
Parallelogram 
House 
Pentagon 
Hexagon 
Septagon 
Octagon 
DoubleCircle 
DoubleOctagon 
TripleOctagon 
InvTriangle 
InvTrapezium 
InvHouse 
MDiamond 
MSquare 
MCircle 
Square 
Star

Requires Graphviz >= 2.32.0.

Underline

Requires Graphviz >= 2.36.0.

Note 
Tab 
Folder 
Box3D 
Component 
Promoter

Requires Graphviz >= 2.30.0.

CDS

Requires Graphviz >= 2.30.0.

Terminator

Requires Graphviz >= 2.30.0.

UTR

Requires Graphviz >= 2.30.0.

PrimerSite

Requires Graphviz >= 2.30.0.

RestrictionSite

Requires Graphviz >= 2.30.0.

FivePovOverhang

Requires Graphviz >= 2.30.0.

ThreePovOverhang

Requires Graphviz >= 2.30.0.

NoOverhang

Requires Graphviz >= 2.30.0.

Assembly

Requires Graphviz >= 2.30.0.

Signature

Requires Graphviz >= 2.30.0.

Insulator

Requires Graphviz >= 2.30.0.

Ribosite

Requires Graphviz >= 2.30.0.

RNAStab

Requires Graphviz >= 2.30.0.

ProteaseSite

Requires Graphviz >= 2.30.0.

ProteinStab

Requires Graphviz >= 2.30.0.

RPromoter

Requires Graphviz >= 2.30.0.

RArrow

Requires Graphviz >= 2.30.0.

LArrow

Requires Graphviz >= 2.30.0.

LPromoter

Requires Graphviz >= 2.30.0.

Record

Must specify the record shape with a Label.

MRecord

Must specify the record shape with a Label.

Instances
Bounded Shape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum Shape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq Shape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

(==) :: Shape -> Shape -> Bool #

(/=) :: Shape -> Shape -> Bool #

Ord Shape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

compare :: Shape -> Shape -> Ordering #

(<) :: Shape -> Shape -> Bool #

(<=) :: Shape -> Shape -> Bool #

(>) :: Shape -> Shape -> Bool #

(>=) :: Shape -> Shape -> Bool #

max :: Shape -> Shape -> Shape #

min :: Shape -> Shape -> Shape #

Read Shape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show Shape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

showsPrec :: Int -> Shape -> ShowS #

show :: Shape -> String #

showList :: [Shape] -> ShowS #

ParseDot Shape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot Shape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

newtype Paths Source #

A list of search paths.

Constructors

Paths 

Fields

data ScaleType Source #

Instances
Bounded ScaleType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum ScaleType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq ScaleType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord ScaleType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read ScaleType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show ScaleType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot ScaleType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot ScaleType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data NodeSize Source #

Determine how the Width and Height attributes specify the size of nodes.

Constructors

GrowAsNeeded

Nodes will be the smallest width and height needed to contain the label and any possible image. Width and Height are the minimum allowed sizes.

SetNodeSize

Width and Height dictate the size of the node with a warning if the label cannot fit in this.

SetShapeSize

Width and Height dictate the size of the shape only and the label can expand out of the shape (with a warning). Requires Graphviz >= 2.38.0.

Instances
Bounded NodeSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum NodeSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq NodeSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord NodeSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read NodeSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show NodeSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot NodeSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot NodeSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Edges

data DirType Source #

Specify where to place arrow heads on an edge.

Constructors

Forward

Draw a directed edge with an arrow to the node it's pointing go.

Back

Draw a reverse directed edge with an arrow to the node it's coming from.

Both

Draw arrows on both ends of the edge.

NoDir

Draw an undirected edge.

Instances
Bounded DirType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum DirType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq DirType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

(==) :: DirType -> DirType -> Bool #

(/=) :: DirType -> DirType -> Bool #

Ord DirType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read DirType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show DirType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot DirType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot DirType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data EdgeType Source #

Controls how (and if) edges are represented.

For Dot, the default is SplineEdges; for all other layouts the default is LineEdges.

Constructors

SplineEdges

Except for Dot, requires non-overlapping nodes (see Overlap).

LineEdges 
NoEdges 
PolyLine 
Ortho

Does not handle ports or edge labels in Dot.

Curved

Requires Graphviz >= 2.30.0.

CompoundEdge

Fdp only

Instances
Bounded EdgeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum EdgeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq EdgeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord EdgeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read EdgeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show EdgeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot EdgeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot EdgeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Modifying where edges point

newtype PortName Source #

Specifies a name for ports (used also in record-based and HTML-like labels). Note that it is not valid for a PortName value to contain a colon (:) character; it is assumed that it doesn't.

Constructors

PN 

Fields

Instances
Eq PortName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Ord PortName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Read PortName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Show PortName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

ParseDot PortName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

PrintDot PortName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Labellable PortName Source #

A shorter variant than using PortName from RecordField.

Instance details

Defined in Data.GraphViz.Attributes

Labellable (PortName, EscString) Source #

A shorter variant than using LabelledTarget.

Instance details

Defined in Data.GraphViz.Attributes

data PortPos Source #

data CompassPoint Source #

Instances
Bounded CompassPoint Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Enum CompassPoint Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Eq CompassPoint Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Ord CompassPoint Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Read CompassPoint Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Show CompassPoint Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

ParseDot CompassPoint Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

PrintDot CompassPoint Source # 
Instance details

Defined in Data.GraphViz.Attributes.Internal

Arrows

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)] 
Instances
Eq ArrowType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Ord ArrowType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Read ArrowType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Show ArrowType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

ParseDot ArrowType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

PrintDot ArrowType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

data ArrowShape Source #

Constructors

Box 
Crow 
Diamond 
DotArrow 
Inv 
NoArrow 
Normal 
Tee 
Vee 
Instances
Bounded ArrowShape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Enum ArrowShape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Eq ArrowShape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Ord ArrowShape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Read ArrowShape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Show ArrowShape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

ParseDot ArrowShape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

PrintDot ArrowShape Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

data ArrowModifier Source #

What modifications to apply to an ArrowShape.

Constructors

ArrMod 
Instances
Eq ArrowModifier Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Ord ArrowModifier Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Read ArrowModifier Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Show ArrowModifier Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

ParseDot ArrowModifier Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

PrintDot ArrowModifier Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

data ArrowFill Source #

Constructors

OpenArrow 
FilledArrow 
Instances
Bounded ArrowFill Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Enum ArrowFill Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Eq ArrowFill Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Ord ArrowFill Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Read ArrowFill Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Show ArrowFill Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

ParseDot ArrowFill Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

PrintDot ArrowFill Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

data ArrowSide Source #

Represents which side (when looking towards the node the arrow is pointing to) is drawn.

Constructors

LeftSide 
RightSide 
BothSides 
Instances
Bounded ArrowSide Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Enum ArrowSide Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Eq ArrowSide Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Ord ArrowSide Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Read ArrowSide Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

Show ArrowSide Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

ParseDot ArrowSide Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

PrintDot ArrowSide Source # 
Instance details

Defined in Data.GraphViz.Attributes.Arrows

ArrowModifier values

noMods :: ArrowModifier Source #

Apply no modifications to an ArrowShape.

Positioning

data Point Source #

Constructors

Point 

Fields

createPoint :: Double -> Double -> Point Source #

Create a point with only x and y values.

data Pos Source #

Constructors

PointPos Point 
SplinePos [Spline] 
Instances
Eq Pos Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

(==) :: Pos -> Pos -> Bool #

(/=) :: Pos -> Pos -> Bool #

Ord Pos Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

compare :: Pos -> Pos -> Ordering #

(<) :: Pos -> Pos -> Bool #

(<=) :: Pos -> Pos -> Bool #

(>) :: Pos -> Pos -> Bool #

(>=) :: Pos -> Pos -> Bool #

max :: Pos -> Pos -> Pos #

min :: Pos -> Pos -> Pos #

Read Pos Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show Pos Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

showsPrec :: Int -> Pos -> ShowS #

show :: Pos -> String #

showList :: [Pos] -> ShowS #

ParseDot Pos Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot Pos Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

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 

data DPoint Source #

Either a Double or a (2D) Point (i.e. created with createPoint).

Whilst it is possible to create a Point value with either a third co-ordinate or a forced position, these are ignored for printing/parsing.

An optional prefix of '+' is allowed when parsing.

Constructors

DVal Double 
PVal Point 

data Normalized Source #

If set, normalizes coordinates such that the first point is at the origin and the first edge is at the angle if specified.

Constructors

IsNormalized

Equivalent to NormalizedAngle 0.

NotNormalized 
NormalizedAngle Double

Angle of first edge when normalized. Requires Graphviz >= 2.32.0.

Instances
Eq Normalized Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord Normalized Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read Normalized Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show Normalized Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot Normalized Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot Normalized Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Layout

data GraphvizCommand Source #

The available Graphviz commands. The following directions are based upon those in the Graphviz man page (available online at http://graphviz.org/pdf/dot.1.pdf, or if installed on your system man graphviz). Note that any command can be used on both directed and undirected graphs.

When used with the Layout attribute, it overrides any actual command called on the dot graph.

Constructors

Dot

For hierachical graphs (ideal for directed graphs).

Neato

For symmetric layouts of graphs (ideal for undirected graphs).

TwoPi

For radial layout of graphs.

Circo

For circular layout of graphs.

Fdp

Spring-model approach for undirected graphs.

Sfdp

As with Fdp, but ideal for large graphs.

Osage

Filter for drawing clustered graphs, requires Graphviz >= 2.28.0.

Patchwork

Draw clustered graphs as treemaps, requires Graphviz >= 2.28.0.

Instances
Bounded GraphvizCommand Source # 
Instance details

Defined in Data.GraphViz.Commands.Available

Enum GraphvizCommand Source # 
Instance details

Defined in Data.GraphViz.Commands.Available

Eq GraphvizCommand Source # 
Instance details

Defined in Data.GraphViz.Commands.Available

Ord GraphvizCommand Source # 
Instance details

Defined in Data.GraphViz.Commands.Available

Read GraphvizCommand Source # 
Instance details

Defined in Data.GraphViz.Commands.Available

Show GraphvizCommand Source # 
Instance details

Defined in Data.GraphViz.Commands.Available

ParseDot GraphvizCommand Source # 
Instance details

Defined in Data.GraphViz.Commands.Available

PrintDot GraphvizCommand Source # 
Instance details

Defined in Data.GraphViz.Commands.Available

data GraphSize Source #

Maximum width and height of drawing in inches.

Constructors

GSize 

Fields

Instances
Eq GraphSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord GraphSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read GraphSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show GraphSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot GraphSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot GraphSize Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data ClusterMode Source #

If Local, then sub-graphs that are clusters are given special treatment. Global and NoCluster currently appear to be identical and turn off the special cluster processing.

Constructors

Local 
Global 
NoCluster 
Instances
Bounded ClusterMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum ClusterMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq ClusterMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord ClusterMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read ClusterMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show ClusterMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot ClusterMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot ClusterMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data Model Source #

Constructors

ShortPath 
SubSet 
Circuit 
MDS 
Instances
Bounded Model Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum Model Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq Model Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

(==) :: Model -> Model -> Bool #

(/=) :: Model -> Model -> Bool #

Ord Model Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

compare :: Model -> Model -> Ordering #

(<) :: Model -> Model -> Bool #

(<=) :: Model -> Model -> Bool #

(>) :: Model -> Model -> Bool #

(>=) :: Model -> Model -> Bool #

max :: Model -> Model -> Model #

min :: Model -> Model -> Model #

Read Model Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show Model Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

showsPrec :: Int -> Model -> ShowS #

show :: Model -> String #

showList :: [Model] -> ShowS #

ParseDot Model Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot Model Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data Overlap Source #

How to deal with node overlaps.

Defaults to KeepOverlaps except for Fdp and Sfdp.

The ability to specify the number of tries for Fdp's initial force-directed technique is not supported (by default, Fdp uses 9 passes of its in-built technique, and then PrismOverlap Nothing).

For Sfdp, the default is PrismOverlap (Just 0).

Constructors

KeepOverlaps 
ScaleOverlaps

Remove overlaps by uniformly scaling in x and y.

ScaleXYOverlaps

Remove overlaps by separately scaling x and y.

PrismOverlap (Maybe Word16)

Requires the Prism library to be available (if not, this is equivalent to VoronoiOverlap). Nothing is equivalent to Just 1000. Influenced by OverlapScaling.

VoronoiOverlap

Requires Graphviz >= 2.30.0.

CompressOverlap

Scale layout down as much as possible without introducing overlaps, assuming none to begin with.

VpscOverlap

Uses quadratic optimization to minimize node displacement.

IpsepOverlap

Only when mode == IpSep

Instances
Eq Overlap Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

(==) :: Overlap -> Overlap -> Bool #

(/=) :: Overlap -> Overlap -> Bool #

Ord Overlap Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read Overlap Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show Overlap Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot Overlap Source #

Note that overlap=false defaults to PrismOverlap Nothing, but if the Prism library isn't available then it is equivalent to VoronoiOverlap.

Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot Overlap Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data Root Source #

Specify the root node either as a Node attribute or a Graph attribute.

Constructors

IsCentral

For Nodes only

NotCentral

For Nodes only

NodeName Text

For Graphs only

data Order Source #

Constructors

OutEdges

Draw outgoing edges in order specified.

InEdges

Draw incoming edges in order specified.

Instances
Bounded Order Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum Order Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq Order Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

(==) :: Order -> Order -> Bool #

(/=) :: Order -> Order -> Bool #

Ord Order Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

compare :: Order -> Order -> Ordering #

(<) :: Order -> Order -> Bool #

(<=) :: Order -> Order -> Bool #

(>) :: Order -> Order -> Bool #

(>=) :: Order -> Order -> Bool #

max :: Order -> Order -> Order #

min :: Order -> Order -> Order #

Read Order Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show Order Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

showsPrec :: Int -> Order -> ShowS #

show :: Order -> String #

showList :: [Order] -> ShowS #

ParseDot Order Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot Order Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data OutputMode Source #

Instances
Bounded OutputMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum OutputMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq OutputMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord OutputMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read OutputMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show OutputMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot OutputMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot OutputMode Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data Pack Source #

Constructors

DoPack 
DontPack 
PackMargin Int

If non-negative, then packs; otherwise doesn't.

data PackMode Source #

Constructors

PackNode 
PackClust 
PackGraph 
PackArray Bool Bool (Maybe Int)

Sort by cols, sort by user, number of rows/cols

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 
Instances
Bounded PageDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum PageDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq PageDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

(==) :: PageDir -> PageDir -> Bool #

(/=) :: PageDir -> PageDir -> Bool #

Ord PageDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read PageDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show PageDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot PageDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot PageDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data QuadType Source #

Constructors

NormalQT 
FastQT 
NoQT 
Instances
Bounded QuadType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum QuadType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq QuadType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord QuadType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read QuadType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show QuadType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot QuadType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot QuadType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data RankType Source #

Instances
Bounded RankType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum RankType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq RankType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord RankType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read RankType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show RankType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot RankType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot RankType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data RankDir Source #

Instances
Bounded RankDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum RankDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq RankDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

(==) :: RankDir -> RankDir -> Bool #

(/=) :: RankDir -> RankDir -> Bool #

Ord RankDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read RankDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show RankDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot RankDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot RankDir Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data StartType Source #

Instances
Eq StartType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord StartType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read StartType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show StartType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot StartType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot StartType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data ViewPort Source #

Constructors

VP 

data FocusType Source #

For use with ViewPort.

Constructors

XY Point 
NodeFocus Text 
Instances
Eq FocusType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord FocusType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read FocusType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show FocusType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot FocusType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot FocusType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Modes

data ModeType Source #

For Neato unless indicated otherwise.

Constructors

Major 
KK 
Hier 
IpSep 
SpringMode

For Sfdp, requires Graphviz >= 2.32.0.

MaxEnt

For Sfdp, requires Graphviz >= 2.32.0.

Instances
Bounded ModeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum ModeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq ModeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord ModeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read ModeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show ModeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot ModeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot ModeType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data DEConstraints Source #

Only when mode == IpSep.

Instances
Bounded DEConstraints Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum DEConstraints Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq DEConstraints Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord DEConstraints Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read DEConstraints Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show DEConstraints Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot DEConstraints Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot DEConstraints Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Layers

newtype LayerSep Source #

Constructors

LSep Text 

newtype LayerListSep Source #

Constructors

LLSep Text 
Instances
Eq LayerListSep Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord LayerListSep Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read LayerListSep Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show LayerListSep Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot LayerListSep Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot LayerListSep Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data LayerRangeElem Source #

Constructors

LRID LayerID 
LRS LayerID LayerID 
Instances
Eq LayerRangeElem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord LayerRangeElem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read LayerRangeElem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show LayerRangeElem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot LayerRangeElem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot LayerRangeElem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data LayerID Source #

You should not have any layer separator characters for the LRName option, as they won't be parseable.

Constructors

AllLayers 
LRInt Int 
LRName Text

Should not be a number or "all".

newtype LayerList Source #

A list of layer names. The names should all be unique LRName values, and when printed will use an arbitrary character from defLayerSep. The values in the list are implicitly numbered 1, 2, ....

Constructors

LL [LayerID] 
Instances
Eq LayerList Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord LayerList Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read LayerList Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show LayerList Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot LayerList Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot LayerList Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Stylistic

data SmoothType Source #

Instances
Bounded SmoothType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum SmoothType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq SmoothType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord SmoothType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read SmoothType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show SmoothType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot SmoothType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot SmoothType Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data STStyle Source #

Instances
Bounded STStyle Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Enum STStyle Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Eq STStyle Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Methods

(==) :: STStyle -> STStyle -> Bool #

(/=) :: STStyle -> STStyle -> Bool #

Ord STStyle Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read STStyle Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show STStyle Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot STStyle Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot STStyle Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data StyleItem Source #

An individual style item. Except for DD, the [String] should be empty.

Constructors

SItem StyleName [Text] 
Instances
Eq StyleItem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord StyleItem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read StyleItem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show StyleItem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot StyleItem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot StyleItem Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

data StyleName Source #

Constructors

Dashed

Nodes and Edges

Dotted

Nodes and Edges

Solid

Nodes and Edges

Bold

Nodes and Edges

Invisible

Nodes and Edges

Filled

Nodes and Clusters

Striped

Rectangularly-shaped Nodes and Clusters; requires Graphviz >= 2.30.0

Wedged

Elliptically-shaped Nodes only; requires Graphviz >= 2.30.0

Diagonals

Nodes only

Rounded

Nodes and Clusters

Tapered

Edges only; requires Graphviz >= 2.29.0

Radial

Nodes, Clusters and Graphs, for use with GradientAngle; requires Graphviz >= 2.29.0

DD Text

Device Dependent

Instances
Eq StyleName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Ord StyleName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Read StyleName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

Show StyleName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

ParseDot StyleName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values

PrintDot StyleName Source # 
Instance details

Defined in Data.GraphViz.Attributes.Values