Graph::Easy - Manual - Attributes for graphs

# Graph::Easy - Manual

## Attributes

If you haven't done so, please read the Overview first.

This chapter describes all the possible attributes for graphs.
This page was generated automatically from the definitions in `Graph::Easy::Attributes`.

### Graphs

- align, autolabel, autolink, autotitle,
- background, border, bordercolor, borderstyle, borderwidth,
- class, color, colorscheme, comment,
- fill, flow, font, fontsize, format,
- gid,
- id,
- label, labelpos, link, linkbase,
- output,
- root,
- textstyle, textwrap, title, type,

#### align

The alignment of the label text. One of: `center`, `left`, `right`.
Defaults to:

- `left` for edge
- `left` for group
- `center` for anything else

Example graph:

    graph { align: left; label: My Graph; }
    node {align: left;}
     ( Nodes:
     [ Right\nAligned ] { align: right; } -- label\n text -->
     { align: left; }
     [ Left\naligned ] )

My Graph
| Nodes: |  |  |  |  |
| Right Aligned |  |  | label text | > |  | Left aligned |

#### autolabel

Will restrict the label text to N characters. N must be greater than 10. See the section about labels, titles, names and links for reference.
Defaults to:

- `` for graph
- `inherit` for anything else

Example graph:

    graph { autolabel: 20; autotitle: name; }

    [ Bonn ]
     -- Acme Travels Incorporated -->
      [ Frankfurt (Main) / Flughafen ]

Bonn |  | Acme Tr ... porated | > | Frankfu ... ughafen

#### autolink

If set to something else than 'none', will use the appropriate attribute to automatically generate the link, unless link is already set. See the section about labels, titles, names and links for reference. One of: `label`, `title`, `name`, `none`, `inherit`.
Defaults to:

- `none` for graph
- `inherit` for anything else

Example value: `title`

#### autotitle

If set to something else than 'none', will use the appropriate attribute to automatically generate the title, unless title is already set. See the section about labels, titles, names and links for reference. One of: `label`, `name`, `none`, `link`, `inherit`.
Defaults to:

- `none` for graph
- `inherit` for anything else

Example value: `label`

#### background

The background color, e.g. the color outside the shape. Do not confuse with fill. If set to inherit, the object will inherit the fill color (not the background color!) of the parent e.g. the enclosing group or graph. See the section about color names and values for reference.
Defaults to: `inherit`
Example graph:

    [ Crimson ] { shape: circle; background: crimson; }
     -- Aqua Marine --> { background: #7fffd4; }
     [ Misty Rose ]
      { background: white; fill: rgb(255,228,221); shape: ellipse; }

Crimson |  | Aqua Marine | > | Misty Rose

#### border

The border. Can be any combination of borderstyle, bordercolor and borderwidth.
Defaults to:

- `dashed 1px #000000` for group
- `none` for group.anon
- `solid 1px #000000` for node
- `none` for node.anon
- `none` for anything else

Example graph:

    [ Normal ]
     --> [ Bold ]      { border: bold; }
     --> [ Broad ]     { border: broad; }
     --> [ Wide ]      { border: wide; }
     --> [ Bold-Dash ] { border: bold-dash; }

Normal |  |  | > | Bold |  |  | > | Broad |  |  | > | Wide |  |  | > | Bold-Dash

#### bordercolor

The color of the border. See the section about color names and values for reference.
Defaults to:

- `#000000` for anything else

Example graph:

    node { border: black bold; }
    [ Black ]
     --> [ Red ]      { bordercolor: red; }
     --> [ Green ]    { bordercolor: green; }

Black |  |  | > | Red |  |  | > | Green

#### borderstyle

The style of the border. The special styles "bold", "broad", "wide", "double-dash" and "bold-dash" will set and override the borderwidth. One of: `none`, `solid`, `dotted`, `dashed`, `dot-dash`, `dot-dot-dash`, `double`, `wave`, `bold`, `bold-dash`, `broad`, `double-dash`, `wide`.
Defaults to:

- `dashed` for group
- `none` for group.anon
- `solid` for node
- `none` for node.anon
- `none` for anything else

Example graph:

    node { border: dotted; }
    [ Dotted ]
     --> [ Dashed ]      { borderstyle: dashed; }
     --> [ broad ]    { borderstyle: broad; }

Dotted |  |  | > | Dashed |  |  | > | broad

#### borderwidth

The width of the border. Certain border-styles will override the width.
Defaults to: `1`
Example value: `2px`

#### class

The subclass of the object. See the section about class names for reference.
Defaults to: ``
Example value: `mynodeclass`

#### color

The foreground/text/label color. See the section about color names and values for reference.
Defaults to: `black`
Example graph:

    [ Lime ] { color: limegreen; }
     -- label --> { color: blue; labelcolor: red; }
     [ Dark Orange ] { color: rgb(255,50%,0.01); }

Lime |  | label | > | Dark Orange

#### colorscheme

The colorscheme to use for all color values. See the section about color names and values for reference and a list of possible values.
Defaults to:

- `w3c` for graph
- `inherit` for anything else

Example graph:

    graph { colorscheme: accent8; } [ 1 ] { fill: 1; }
     ->
     [ 3 ] { fill: 3; }
     ->
     [ 4 ] { fill: 4; }
     ->
     [ 5 ] { fill: 5; }
     ->
     [ 6 ] { fill: 6; }
     ->
     [ 7 ] { fill: 7; }
     ->
     [ 8 ] { fill: 8; }

1 |  |  | > | 3 |  |  | > | 4 |  |  | > | 5 |  |  | > | 6 |  |  | > | 7 |  |  | > | 8

#### comment

A free-form text field containing a comment on this object. This will be embedded into output formats if possible, e.g. in HTML, SVG and Graphviz, but not ASCII or Boxart.
Defaults to: ``
Example graph:

    graph { comment: German capitals; }
     [ Bonn ] --> [ Berlin ]

Bonn |  |  | > | Berlin

#### fill

The fill color, e.g. the color inside the shape. For the graph, this is the background color for the label. For edges, the color inside the arrow shape. See also background. See the section about color names and values for reference.
Defaults to:

- `inherit` for edge
- `inherit` for graph
- `#a0d0ff` for group
- `white` for group.anon
- `inherit` for node.anon
- `white` for anything else

Example graph:

    [ Crimson ]
      {
      shape: circle;
      background: yellow;
      fill: red;
      border: 3px solid blue;
      }
    -- Aqua Marine -->
      {
      arrowstyle: filled;
      fill: red;
      }
    [ Two ]

Crimson |  | Aqua Marine | ▶ | Two

#### flow

The general direction in which edges will leave nodes first. On edges, influeces where the target node is place. Please see the section about flow control for reference.
Defaults to:

- `east` for graph
- `inherit` for anything else

Example graph:

    graph { flow: up; }
     [ Enschede ] { flow: left; } -> [ Bielefeld ] -> [ Wolfsburg ]

Enschede
| ∨
Bielefeld |  |  | > | Wolfsburg

#### font

A prioritized list of lower-case, unquoted values, separated by a comma. Values are either font family names (like "times", "arial" etc) or generic family names (like "serif", "cursive", "monospace"), the first recognized value will be used. Always offer a generic name as the last possibility.
Defaults to:

- `sans-serif` for edge
- `serif` for anything else

Example graph:

    graph { font: vinque, georgia, utopia, serif; label: Sample; }

     ( Nodes:
     [ Webdings ] { font: Dingbats, webdings; }
     -- FlatLine -->
     { font: flatline; }
      [ Normal ] )

Sample
| Nodes: |  |  |  |  |
| Webdings |  |  | FlatLine | > |  | Normal |

#### fontsize

The size of the label text, best expressed in em (1.0em, 0.5em etc) or percent (100%, 50% etc)
Defaults to:

- `1em` for graph
- `1em` for node
- `0.8em` for anything else

Example graph:

    graph { fontsize: 200%; label: Sample; }

     ( Nodes:
     [ Big ] { fontsize: 1.5em; color: white; fill: darkred; }
      -- Small -->
     { fontsize: 0.2em; }
      [ Normal ] )

Sample
| Nodes: |  |  |  |  |
| Big |  |  | Small | > |  | Normal |

#### format

The formatting language of the label. The default, `none` means nothing special will be done. When set to `pod`, formatting codes like `B<bold>` will change the formatting of the label. See the section about label text formatting for reference. One of: `none`, `pod`.
Defaults to: `none`
Example graph:

    graph {
      format: pod;
      label: I am B<bold> and I<italic>;
      }
    node { format: pod; }
    edge { format: pod; }

    [ U<B<bold and underlined>> ]
    --> { label: "S<Fähre>"; }
     [ O<Konstanz> ]

I am bold and italic
U<bold and underlined> |  | Fähre | > | Konstanz

#### gid

A unique ID for the graph. Usefull if you want to include two graphs into one HTML page.
Defaults to: ``
Example value: `123`

#### id

A unique identifier for this object, consisting only of letters, digits, or underscores.
Defaults to: ``
Example graph:

    [ Bonn ] --> { id: 123; } [ Berlin ]

Bonn |  |  | > | Berlin

#### label

The text displayed as label. If not set, equals the name (for nodes) or no label (for edges, groups and the graph itself).
Defaults to: ``
Example value: `My label`

#### labelpos

The position of the graph label. One of: `top`, `bottom`.
Defaults to: `top`
Example graph:

    graph { labelpos: bottom; label: My Graph; }

     [ Buxtehude ] -> [ Fuchsberg ]

Buxtehude |  |  | > | Fuchsberg
My Graph

#### link

The link part, appended onto linkbase. See the section about links for reference.
Defaults to: ``
Example graph:

    node {
      autolink: name;
      textstyle: none;
      fontsize: 1.1em;
      }
    graph {
      linkbase: http://de.wikipedia.org/wiki/;
      }
    edge {
      textstyle: overline;
      }

    [] --> [ Friedrichshafen ]
     -- Schiff --> { autolink: label; color: orange; title: Vrooom!; }
    [ Immenstaad ] { color: green; } --> [ Hagnau ]

|  |  | > | Friedrichshafen |  | Schiff | > | Immenstaad |  |  | > | Hagnau

#### linkbase

The base URL prepended to all generated links. See the section about links for reference.
Defaults to:

- `/wiki/index.php/` for graph
- `inherit` for anything else

Example value: `http://en.wikipedia.org/wiki/`

#### output

The desired output format. Only used when calling Graph::Easy::output(), or by mediawiki-graph. One of: `ascii`, `html`, `svg`, `graphviz`, `boxart`, `debug`.
Defaults to: ``
Example graph:

    graph { output: debug; }

    # Using Graph::Easy v0.57
    # Using Graph::Easy::As_svg v0.22
    # Running Perl v5.008008 under linux

    # Input normalized as_txt:

    graph { output: debug; }

#### root

The name of the root node, given as hint to the layouter to start the layout there. When not set, the layouter will pick a node at semi-random.
Defaults to: ``
Example graph:

    graph { root: B; }
     # B will be at the left-most place
     [ A ] --> [ B ] --> [ C ] --> [ D ] --> [ A ]

| ∨ |
B |  |  | > | C |  |  | > | D |  |  | > | A

#### textstyle

The style of the label text. Either 'none', or any combination (separated with spaces) of 'underline', 'overline', 'bold', 'italic', 'line-through'. 'none' disables underlines on links.
Defaults to: ``
Example graph:

    graph {
      fontsize: 150%;
      label: Verbindung;
      textstyle: bold italic;
      }
    node {
      textstyle: underline bold;
      fill: #ffd080;
      }
    edge {
      textstyle: italic bold overline;
      }

    [ Meersburg ] { fontsize: 2em; }
     -- Fähre --> { fontsize: 1.2em; color: red; }
     [ Konstanz ]

Verbindung
Meersburg |  | Fähre | > | Konstanz

#### textwrap

The default `none` makes the label text appear exactly as it was written, with manual line breaks applied. When set to a positive number, the label text will be wrapped after this number of characters. When set to `auto`, the label text will be wrapped to make the node size as small as possible, depending on output format this may even be dynamic. When not `none`, manual line breaks and alignments on them are ignored.
Defaults to:

- `none` for graph
- `inherit` for anything else

Example graph:

    node { textwrap: auto; }
     ( Nodes:
     [ Frankfurt (Oder) liegt an der
       ostdeutschen Grenze und an der Oder ] -->
     [ Städte innerhalb der
       Ost-Westfahlen Region mit sehr langen Namen] )

| Nodes: |  |  |  |  |
| Frankfurt (Oder) liegt an der ostdeutschen Grenze und an der Oder |  |  |  | > |  | Städte innerhalb der Ost-Westfahlen Region mit sehr langen Namen |

#### title

The text displayed as mouse-over for nodes/edges, or as the title for the graph. If empty, no title will be generated unless autotitle is set.
Defaults to: ``
Example value: `My title`

#### type

The type of the graph, either undirected or directed. One of: `directed`, `undirected`.
Defaults to: `directed`
Example graph:

    graph { type: undirected; }
     [ A ] --> [ B ]

A |  |  | > | B