This repository was archived by the owner on Oct 17, 2021. It is now read-only.

Edge_Attributes

mattt edited this page Nov 16, 2020 · 2 revisions

Edge.Attributes

publicstruct Attributes: Hashable

Inheritance

Hashable

Properties

comment

Comments are inserted into output. Device-dependent

varcomment:String?

`class`

Unofficial, but supported by certain output formats, like svg.

var`class`:String?

constraint

If false, the edge is not used in ranking the nodes.

varconstraint:Bool?

Normally, edges are used to place the nodes on ranks. In the second graph below, all nodes were placed on different ranks. In the first example, the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c.

If false, the edge is not used in ranking the nodes. For example, in the graph digraph G { a -> c; a -> b; b -> c [constraint=false]; }

the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c, yielding the graph:

ordering

If the value of the attribute is "out", then the outedges of a node, that is, edges with the node as its tail node, must appear left-to-right in the same order in which they are defined in the input. If the value of the attribute is "in", then the inedges of a node must appear left-to-right in the same order in which they are defined in the input. If defined as a graph or subgraph attribute, the value is applied to all nodes in the graph or subgraph. Note that the graph attribute takes precedence over the node attribute.

varordering:Ordering?

weight

Weight of edge. In dot, the heavier the weight, the shorter, straighter and more vertical the edge is. N.B. Weights in dot must be integers. For twopi, a weight of 0 indicates the edge should not be used in constructing a spanning tree from the root. For other layouts, a larger weight encourages the layout to make the edge length closer to that specified by the len attribute.

varweight:Double?

weight E int double 1 0(dot,twopi) 1(neato,fdp)

style

Set style information for components of the graph. For cluster subgraphs, if style="filled", the cluster box's background is filled. If the default style attribute has been set for a component, an individual component can use style="" to revert to the normal default. For example, if the graph has

varstyle:Style?

edge [style="invis"]

making all edges invisible, a specific edge can overrride this via:

a -> b [style=""]

Of course, the component can also explicitly set its style attribute to the desired value.

strokeColor

varstrokeColor:Color?

Basic drawing color for graphics.

strokeWidth

penwidth Specifies the width of the pen, in points, used to draw lines and curves, including the boundaries of edges and clusters. The value is inherited by subclusters. It has no effect on text.

varstrokeWidth:Double?

arrowSize

Multiplicative scale factor for arrowheads.

vararrowSize:Double?

fontName

varfontName:String?

The name of the used font. (System dependend) The font size for object labels.

fontSize

varfontSize:Double?

textColor

vartextColor:Color?

The font color for object labels.

labelURL

varlabelURL:URL?

labelDistance

labeldistance Multiplicative scaling factor adjusting the distance that the headlabel(taillabel) is from the head(tail) node. The default distance is 10 points. See labelangle for more details.

varlabelDistance:Double?

labelAngle

This, along with labeldistance, determine where the headlabel (taillabel) are placed with respect to the head (tail) in polar coordinates. The origin in the coordinate system is the point where the edge touches the node. The ray of 0 degrees goes from the origin back along the edge, parallel to the edge at the origin. The angle, in degrees, specifies the rotation from the 0 degree ray, with positive angles moving counterclockwise and negative angles moving clockwise.

varlabelAngle:Double?

labelWidth

Width of graph or cluster label, in inches.

varlabelWidth:Double?

labelFloat

varlabelFloat:Bool?

If true, allows edge labels to be less constrained in position. In particular, it may appear on top of other edges

exteriorLabel

External label for a node or edge. For nodes, the label will be placed outside of the node but near it. For edges, the label will be placed near the center of the edge. This can be useful in dot to avoid the occasional problem when the use of edge labels distorts the layout. For other layouts, the xlabel attribute can be viewed as a synonym for the label attribute. These labels are added after all nodes and edges have been placed. The labels will be placed so that they do not overlap any node or label. This means it may not be possible to place all of them. To force placing all of them, use the forcelabels attribute.

varexteriorLabel:String?

exteriorLabelPosition

Position of an exterior label, in points. The position indicates the center of the label.

varexteriorLabelPosition:Point?

decorate

If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline.

vardecorate:Bool?

noJustify

By default, the justification of multi-line labels is done within the largest context that makes sense. Thus, in the label of a polygonal node, a left-justified line will align with the left side of the node (shifted by the prescribed margin). In record nodes, left-justified line will line up with the left side of the enclosing column of fields. If nojustify is "true", multi-line labels will be justified in the context of itself. For example, if the attribute is set, the first label line is long, and the second is shorter and left-justified, the second will align with the left-most character in the first line, regardless of how large the node might be.

varnoJustify:Bool?

href

varhref:String?

url

varurl:URL?

tooltip

Tooltip annotation attached to the non-label part of an edge. This is used only if the edge has a URL or edgeURL attribute.

vartooltip:String?

E escString "" svg, cmap only

head

varhead:Arrow?

headPort

Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary. See limitation.

varheadPort:Port?

headLabel

varheadLabel:String?

headLabelPosition

Position of an edge's head label, in points. The position indicates the center of the label.

varheadLabelPosition:Point?

headClip

If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

varheadClip:Bool?

headURL

varheadURL:URL?

headTarget

If the edge has a headURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

varheadTarget:String?

headTooltip

Tooltip annotation attached to the head of an edge. This is used only if the edge has a headURL attribute.

varheadTooltip:String?

logicalHead

Logical head of an edge. When compound is true, if lhead is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalHead:String?

sameHead

Edges with the same head and the same samehead value are aimed at the same point on the head. This has no effect on loops. Each node can have at most 5 unique samehead values. See limitation.

varsameHead:String?
dot only

tail

vartail:Arrow?

tailClip

If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

vartailClip:Bool?

tailURL

vartailURL:URL?

tailTarget

If the edge has a tailURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

vartailTarget:String?

tailTooltip

vartailTooltip:String?

logicalTail

Logical tail of an edge. When compound is true, if ltail is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalTail:String?

sameTail

Edges with the same tail and the same sametail value are aimed at the same point on the tail. This has no effect on loops. Each node can have at most 5 unique sametail values. See limitation.

varsameTail:String?
dot only

tailLabel

vartailLabel:String?

minimumRankDifference

minlen Minimum edge length (rank difference between head and tail).

varminimumRankDifference:Int?

E int 1 0 dot only

guideBoxLocation

showboxes Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2. (Debugging)

varguideBoxLocation:Location?
ENG int 0 0 dot only

preferredEdgeLength

len Preferred edge length, in inches.

varpreferredEdgeLength:Double?

dictionaryValue

vardictionaryValue:[String:Any]

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Oct 17, 2021. It is now read-only.

Edge_Attributes

mattt edited this page Nov 16, 2020 · 2 revisions

Edge.Attributes

publicstruct Attributes: Hashable

Inheritance

Hashable

Properties

comment

Comments are inserted into output. Device-dependent

varcomment:String?

`class`

Unofficial, but supported by certain output formats, like svg.

var`class`:String?

constraint

If false, the edge is not used in ranking the nodes.

varconstraint:Bool?

Normally, edges are used to place the nodes on ranks. In the second graph below, all nodes were placed on different ranks. In the first example, the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c.

If false, the edge is not used in ranking the nodes. For example, in the graph digraph G { a -> c; a -> b; b -> c [constraint=false]; }

the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c, yielding the graph:

ordering

If the value of the attribute is "out", then the outedges of a node, that is, edges with the node as its tail node, must appear left-to-right in the same order in which they are defined in the input. If the value of the attribute is "in", then the inedges of a node must appear left-to-right in the same order in which they are defined in the input. If defined as a graph or subgraph attribute, the value is applied to all nodes in the graph or subgraph. Note that the graph attribute takes precedence over the node attribute.

varordering:Ordering?

weight

Weight of edge. In dot, the heavier the weight, the shorter, straighter and more vertical the edge is. N.B. Weights in dot must be integers. For twopi, a weight of 0 indicates the edge should not be used in constructing a spanning tree from the root. For other layouts, a larger weight encourages the layout to make the edge length closer to that specified by the len attribute.

varweight:Double?

weight E int double 1 0(dot,twopi) 1(neato,fdp)

style

Set style information for components of the graph. For cluster subgraphs, if style="filled", the cluster box's background is filled. If the default style attribute has been set for a component, an individual component can use style="" to revert to the normal default. For example, if the graph has

varstyle:Style?

edge [style="invis"]

making all edges invisible, a specific edge can overrride this via:

a -> b [style=""]

Of course, the component can also explicitly set its style attribute to the desired value.

strokeColor

varstrokeColor:Color?

Basic drawing color for graphics.

strokeWidth

penwidth Specifies the width of the pen, in points, used to draw lines and curves, including the boundaries of edges and clusters. The value is inherited by subclusters. It has no effect on text.

varstrokeWidth:Double?

arrowSize

Multiplicative scale factor for arrowheads.

vararrowSize:Double?

fontName

varfontName:String?

The name of the used font. (System dependend) The font size for object labels.

fontSize

varfontSize:Double?

textColor

vartextColor:Color?

The font color for object labels.

labelURL

varlabelURL:URL?

labelDistance

labeldistance Multiplicative scaling factor adjusting the distance that the headlabel(taillabel) is from the head(tail) node. The default distance is 10 points. See labelangle for more details.

varlabelDistance:Double?

labelAngle

This, along with labeldistance, determine where the headlabel (taillabel) are placed with respect to the head (tail) in polar coordinates. The origin in the coordinate system is the point where the edge touches the node. The ray of 0 degrees goes from the origin back along the edge, parallel to the edge at the origin. The angle, in degrees, specifies the rotation from the 0 degree ray, with positive angles moving counterclockwise and negative angles moving clockwise.

varlabelAngle:Double?

labelWidth

Width of graph or cluster label, in inches.

varlabelWidth:Double?

labelFloat

varlabelFloat:Bool?

If true, allows edge labels to be less constrained in position. In particular, it may appear on top of other edges

exteriorLabel

External label for a node or edge. For nodes, the label will be placed outside of the node but near it. For edges, the label will be placed near the center of the edge. This can be useful in dot to avoid the occasional problem when the use of edge labels distorts the layout. For other layouts, the xlabel attribute can be viewed as a synonym for the label attribute. These labels are added after all nodes and edges have been placed. The labels will be placed so that they do not overlap any node or label. This means it may not be possible to place all of them. To force placing all of them, use the forcelabels attribute.

varexteriorLabel:String?

exteriorLabelPosition

Position of an exterior label, in points. The position indicates the center of the label.

varexteriorLabelPosition:Point?

decorate

If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline.

vardecorate:Bool?

noJustify

By default, the justification of multi-line labels is done within the largest context that makes sense. Thus, in the label of a polygonal node, a left-justified line will align with the left side of the node (shifted by the prescribed margin). In record nodes, left-justified line will line up with the left side of the enclosing column of fields. If nojustify is "true", multi-line labels will be justified in the context of itself. For example, if the attribute is set, the first label line is long, and the second is shorter and left-justified, the second will align with the left-most character in the first line, regardless of how large the node might be.

varnoJustify:Bool?

href

varhref:String?

url

varurl:URL?

tooltip

Tooltip annotation attached to the non-label part of an edge. This is used only if the edge has a URL or edgeURL attribute.

vartooltip:String?

E escString "" svg, cmap only

head

varhead:Arrow?

headPort

Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary. See limitation.

varheadPort:Port?

headLabel

varheadLabel:String?

headLabelPosition

Position of an edge's head label, in points. The position indicates the center of the label.

varheadLabelPosition:Point?

headClip

If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

varheadClip:Bool?

headURL

varheadURL:URL?

headTarget

If the edge has a headURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

varheadTarget:String?

headTooltip

Tooltip annotation attached to the head of an edge. This is used only if the edge has a headURL attribute.

varheadTooltip:String?

logicalHead

Logical head of an edge. When compound is true, if lhead is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalHead:String?

sameHead

Edges with the same head and the same samehead value are aimed at the same point on the head. This has no effect on loops. Each node can have at most 5 unique samehead values. See limitation.

varsameHead:String?
dot only

tail

vartail:Arrow?

tailClip

If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

vartailClip:Bool?

tailURL

vartailURL:URL?

tailTarget

If the edge has a tailURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

vartailTarget:String?

tailTooltip

vartailTooltip:String?

logicalTail

Logical tail of an edge. When compound is true, if ltail is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalTail:String?

sameTail

Edges with the same tail and the same sametail value are aimed at the same point on the tail. This has no effect on loops. Each node can have at most 5 unique sametail values. See limitation.

varsameTail:String?
dot only

tailLabel

vartailLabel:String?

minimumRankDifference

minlen Minimum edge length (rank difference between head and tail).

varminimumRankDifference:Int?

E int 1 0 dot only

guideBoxLocation

showboxes Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2. (Debugging)

varguideBoxLocation:Location?
ENG int 0 0 dot only

preferredEdgeLength

len Preferred edge length, in inches.

varpreferredEdgeLength:Double?

dictionaryValue

vardictionaryValue:[String:Any]

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Oct 17, 2021. It is now read-only.

Edge_Attributes

mattt edited this page Nov 16, 2020 · 2 revisions

Edge.Attributes

publicstruct Attributes: Hashable

Inheritance

Hashable

Properties

comment

Comments are inserted into output. Device-dependent

varcomment:String?

`class`

Unofficial, but supported by certain output formats, like svg.

var`class`:String?

constraint

If false, the edge is not used in ranking the nodes.

varconstraint:Bool?

Normally, edges are used to place the nodes on ranks. In the second graph below, all nodes were placed on different ranks. In the first example, the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c.

If false, the edge is not used in ranking the nodes. For example, in the graph digraph G { a -> c; a -> b; b -> c [constraint=false]; }

the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c, yielding the graph:

ordering

If the value of the attribute is "out", then the outedges of a node, that is, edges with the node as its tail node, must appear left-to-right in the same order in which they are defined in the input. If the value of the attribute is "in", then the inedges of a node must appear left-to-right in the same order in which they are defined in the input. If defined as a graph or subgraph attribute, the value is applied to all nodes in the graph or subgraph. Note that the graph attribute takes precedence over the node attribute.

varordering:Ordering?

weight

Weight of edge. In dot, the heavier the weight, the shorter, straighter and more vertical the edge is. N.B. Weights in dot must be integers. For twopi, a weight of 0 indicates the edge should not be used in constructing a spanning tree from the root. For other layouts, a larger weight encourages the layout to make the edge length closer to that specified by the len attribute.

varweight:Double?

weight E int double 1 0(dot,twopi) 1(neato,fdp)

style

Set style information for components of the graph. For cluster subgraphs, if style="filled", the cluster box's background is filled. If the default style attribute has been set for a component, an individual component can use style="" to revert to the normal default. For example, if the graph has

varstyle:Style?

edge [style="invis"]

making all edges invisible, a specific edge can overrride this via:

a -> b [style=""]

Of course, the component can also explicitly set its style attribute to the desired value.

strokeColor

varstrokeColor:Color?

Basic drawing color for graphics.

strokeWidth

penwidth Specifies the width of the pen, in points, used to draw lines and curves, including the boundaries of edges and clusters. The value is inherited by subclusters. It has no effect on text.

varstrokeWidth:Double?

arrowSize

Multiplicative scale factor for arrowheads.

vararrowSize:Double?

fontName

varfontName:String?

The name of the used font. (System dependend) The font size for object labels.

fontSize

varfontSize:Double?

textColor

vartextColor:Color?

The font color for object labels.

labelURL

varlabelURL:URL?

labelDistance

labeldistance Multiplicative scaling factor adjusting the distance that the headlabel(taillabel) is from the head(tail) node. The default distance is 10 points. See labelangle for more details.

varlabelDistance:Double?

labelAngle

This, along with labeldistance, determine where the headlabel (taillabel) are placed with respect to the head (tail) in polar coordinates. The origin in the coordinate system is the point where the edge touches the node. The ray of 0 degrees goes from the origin back along the edge, parallel to the edge at the origin. The angle, in degrees, specifies the rotation from the 0 degree ray, with positive angles moving counterclockwise and negative angles moving clockwise.

varlabelAngle:Double?

labelWidth

Width of graph or cluster label, in inches.

varlabelWidth:Double?

labelFloat

varlabelFloat:Bool?

If true, allows edge labels to be less constrained in position. In particular, it may appear on top of other edges

exteriorLabel

External label for a node or edge. For nodes, the label will be placed outside of the node but near it. For edges, the label will be placed near the center of the edge. This can be useful in dot to avoid the occasional problem when the use of edge labels distorts the layout. For other layouts, the xlabel attribute can be viewed as a synonym for the label attribute. These labels are added after all nodes and edges have been placed. The labels will be placed so that they do not overlap any node or label. This means it may not be possible to place all of them. To force placing all of them, use the forcelabels attribute.

varexteriorLabel:String?

exteriorLabelPosition

Position of an exterior label, in points. The position indicates the center of the label.

varexteriorLabelPosition:Point?

decorate

If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline.

vardecorate:Bool?

noJustify

By default, the justification of multi-line labels is done within the largest context that makes sense. Thus, in the label of a polygonal node, a left-justified line will align with the left side of the node (shifted by the prescribed margin). In record nodes, left-justified line will line up with the left side of the enclosing column of fields. If nojustify is "true", multi-line labels will be justified in the context of itself. For example, if the attribute is set, the first label line is long, and the second is shorter and left-justified, the second will align with the left-most character in the first line, regardless of how large the node might be.

varnoJustify:Bool?

href

varhref:String?

url

varurl:URL?

tooltip

Tooltip annotation attached to the non-label part of an edge. This is used only if the edge has a URL or edgeURL attribute.

vartooltip:String?

E escString "" svg, cmap only

head

varhead:Arrow?

headPort

Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary. See limitation.

varheadPort:Port?

headLabel

varheadLabel:String?

headLabelPosition

Position of an edge's head label, in points. The position indicates the center of the label.

varheadLabelPosition:Point?

headClip

If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

varheadClip:Bool?

headURL

varheadURL:URL?

headTarget

If the edge has a headURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

varheadTarget:String?

headTooltip

Tooltip annotation attached to the head of an edge. This is used only if the edge has a headURL attribute.

varheadTooltip:String?

logicalHead

Logical head of an edge. When compound is true, if lhead is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalHead:String?

sameHead

Edges with the same head and the same samehead value are aimed at the same point on the head. This has no effect on loops. Each node can have at most 5 unique samehead values. See limitation.

varsameHead:String?
dot only

tail

vartail:Arrow?

tailClip

If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

vartailClip:Bool?

tailURL

vartailURL:URL?

tailTarget

If the edge has a tailURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

vartailTarget:String?

tailTooltip

vartailTooltip:String?

logicalTail

Logical tail of an edge. When compound is true, if ltail is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalTail:String?

sameTail

Edges with the same tail and the same sametail value are aimed at the same point on the tail. This has no effect on loops. Each node can have at most 5 unique sametail values. See limitation.

varsameTail:String?
dot only

tailLabel

vartailLabel:String?

minimumRankDifference

minlen Minimum edge length (rank difference between head and tail).

varminimumRankDifference:Int?

E int 1 0 dot only

guideBoxLocation

showboxes Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2. (Debugging)

varguideBoxLocation:Location?
ENG int 0 0 dot only

preferredEdgeLength

len Preferred edge length, in inches.

varpreferredEdgeLength:Double?

dictionaryValue

vardictionaryValue:[String:Any]

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Oct 17, 2021. It is now read-only.

Edge_Attributes

mattt edited this page Nov 16, 2020 · 2 revisions

Edge.Attributes

publicstruct Attributes: Hashable

Inheritance

Hashable

Properties

comment

Comments are inserted into output. Device-dependent

varcomment:String?

`class`

Unofficial, but supported by certain output formats, like svg.

var`class`:String?

constraint

If false, the edge is not used in ranking the nodes.

varconstraint:Bool?

Normally, edges are used to place the nodes on ranks. In the second graph below, all nodes were placed on different ranks. In the first example, the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c.

If false, the edge is not used in ranking the nodes. For example, in the graph digraph G { a -> c; a -> b; b -> c [constraint=false]; }

the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c, yielding the graph:

ordering

If the value of the attribute is "out", then the outedges of a node, that is, edges with the node as its tail node, must appear left-to-right in the same order in which they are defined in the input. If the value of the attribute is "in", then the inedges of a node must appear left-to-right in the same order in which they are defined in the input. If defined as a graph or subgraph attribute, the value is applied to all nodes in the graph or subgraph. Note that the graph attribute takes precedence over the node attribute.

varordering:Ordering?

weight

Weight of edge. In dot, the heavier the weight, the shorter, straighter and more vertical the edge is. N.B. Weights in dot must be integers. For twopi, a weight of 0 indicates the edge should not be used in constructing a spanning tree from the root. For other layouts, a larger weight encourages the layout to make the edge length closer to that specified by the len attribute.

varweight:Double?

weight E int double 1 0(dot,twopi) 1(neato,fdp)

style

Set style information for components of the graph. For cluster subgraphs, if style="filled", the cluster box's background is filled. If the default style attribute has been set for a component, an individual component can use style="" to revert to the normal default. For example, if the graph has

varstyle:Style?

edge [style="invis"]

making all edges invisible, a specific edge can overrride this via:

a -> b [style=""]

Of course, the component can also explicitly set its style attribute to the desired value.

strokeColor

varstrokeColor:Color?

Basic drawing color for graphics.

strokeWidth

penwidth Specifies the width of the pen, in points, used to draw lines and curves, including the boundaries of edges and clusters. The value is inherited by subclusters. It has no effect on text.

varstrokeWidth:Double?

arrowSize

Multiplicative scale factor for arrowheads.

vararrowSize:Double?

fontName

varfontName:String?

The name of the used font. (System dependend) The font size for object labels.

fontSize

varfontSize:Double?

textColor

vartextColor:Color?

The font color for object labels.

labelURL

varlabelURL:URL?

labelDistance

labeldistance Multiplicative scaling factor adjusting the distance that the headlabel(taillabel) is from the head(tail) node. The default distance is 10 points. See labelangle for more details.

varlabelDistance:Double?

labelAngle

This, along with labeldistance, determine where the headlabel (taillabel) are placed with respect to the head (tail) in polar coordinates. The origin in the coordinate system is the point where the edge touches the node. The ray of 0 degrees goes from the origin back along the edge, parallel to the edge at the origin. The angle, in degrees, specifies the rotation from the 0 degree ray, with positive angles moving counterclockwise and negative angles moving clockwise.

varlabelAngle:Double?

labelWidth

Width of graph or cluster label, in inches.

varlabelWidth:Double?

labelFloat

varlabelFloat:Bool?

If true, allows edge labels to be less constrained in position. In particular, it may appear on top of other edges

exteriorLabel

External label for a node or edge. For nodes, the label will be placed outside of the node but near it. For edges, the label will be placed near the center of the edge. This can be useful in dot to avoid the occasional problem when the use of edge labels distorts the layout. For other layouts, the xlabel attribute can be viewed as a synonym for the label attribute. These labels are added after all nodes and edges have been placed. The labels will be placed so that they do not overlap any node or label. This means it may not be possible to place all of them. To force placing all of them, use the forcelabels attribute.

varexteriorLabel:String?

exteriorLabelPosition

Position of an exterior label, in points. The position indicates the center of the label.

varexteriorLabelPosition:Point?

decorate

If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline.

vardecorate:Bool?

noJustify

By default, the justification of multi-line labels is done within the largest context that makes sense. Thus, in the label of a polygonal node, a left-justified line will align with the left side of the node (shifted by the prescribed margin). In record nodes, left-justified line will line up with the left side of the enclosing column of fields. If nojustify is "true", multi-line labels will be justified in the context of itself. For example, if the attribute is set, the first label line is long, and the second is shorter and left-justified, the second will align with the left-most character in the first line, regardless of how large the node might be.

varnoJustify:Bool?

href

varhref:String?

url

varurl:URL?

tooltip

Tooltip annotation attached to the non-label part of an edge. This is used only if the edge has a URL or edgeURL attribute.

vartooltip:String?

E escString "" svg, cmap only

head

varhead:Arrow?

headPort

Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary. See limitation.

varheadPort:Port?

headLabel

varheadLabel:String?

headLabelPosition

Position of an edge's head label, in points. The position indicates the center of the label.

varheadLabelPosition:Point?

headClip

If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

varheadClip:Bool?

headURL

varheadURL:URL?

headTarget

If the edge has a headURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

varheadTarget:String?

headTooltip

Tooltip annotation attached to the head of an edge. This is used only if the edge has a headURL attribute.

varheadTooltip:String?

logicalHead

Logical head of an edge. When compound is true, if lhead is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalHead:String?

sameHead

Edges with the same head and the same samehead value are aimed at the same point on the head. This has no effect on loops. Each node can have at most 5 unique samehead values. See limitation.

varsameHead:String?
dot only

tail

vartail:Arrow?

tailClip

If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

vartailClip:Bool?

tailURL

vartailURL:URL?

tailTarget

If the edge has a tailURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

vartailTarget:String?

tailTooltip

vartailTooltip:String?

logicalTail

Logical tail of an edge. When compound is true, if ltail is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalTail:String?

sameTail

Edges with the same tail and the same sametail value are aimed at the same point on the tail. This has no effect on loops. Each node can have at most 5 unique sametail values. See limitation.

varsameTail:String?
dot only

tailLabel

vartailLabel:String?

minimumRankDifference

minlen Minimum edge length (rank difference between head and tail).

varminimumRankDifference:Int?

E int 1 0 dot only

guideBoxLocation

showboxes Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2. (Debugging)

varguideBoxLocation:Location?
ENG int 0 0 dot only

preferredEdgeLength

len Preferred edge length, in inches.

varpreferredEdgeLength:Double?

dictionaryValue

vardictionaryValue:[String:Any]

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Oct 17, 2021. It is now read-only.

Edge_Attributes

mattt edited this page Nov 16, 2020 · 2 revisions

Edge.Attributes

publicstruct Attributes: Hashable

Inheritance

Hashable

Properties

comment

Comments are inserted into output. Device-dependent

varcomment:String?

`class`

Unofficial, but supported by certain output formats, like svg.

var`class`:String?

constraint

If false, the edge is not used in ranking the nodes.

varconstraint:Bool?

Normally, edges are used to place the nodes on ranks. In the second graph below, all nodes were placed on different ranks. In the first example, the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c.

If false, the edge is not used in ranking the nodes. For example, in the graph digraph G { a -> c; a -> b; b -> c [constraint=false]; }

the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c, yielding the graph:

ordering

If the value of the attribute is "out", then the outedges of a node, that is, edges with the node as its tail node, must appear left-to-right in the same order in which they are defined in the input. If the value of the attribute is "in", then the inedges of a node must appear left-to-right in the same order in which they are defined in the input. If defined as a graph or subgraph attribute, the value is applied to all nodes in the graph or subgraph. Note that the graph attribute takes precedence over the node attribute.

varordering:Ordering?

weight

Weight of edge. In dot, the heavier the weight, the shorter, straighter and more vertical the edge is. N.B. Weights in dot must be integers. For twopi, a weight of 0 indicates the edge should not be used in constructing a spanning tree from the root. For other layouts, a larger weight encourages the layout to make the edge length closer to that specified by the len attribute.

varweight:Double?

weight E int double 1 0(dot,twopi) 1(neato,fdp)

style

Set style information for components of the graph. For cluster subgraphs, if style="filled", the cluster box's background is filled. If the default style attribute has been set for a component, an individual component can use style="" to revert to the normal default. For example, if the graph has

varstyle:Style?

edge [style="invis"]

making all edges invisible, a specific edge can overrride this via:

a -> b [style=""]

Of course, the component can also explicitly set its style attribute to the desired value.

strokeColor

varstrokeColor:Color?

Basic drawing color for graphics.

strokeWidth

penwidth Specifies the width of the pen, in points, used to draw lines and curves, including the boundaries of edges and clusters. The value is inherited by subclusters. It has no effect on text.

varstrokeWidth:Double?

arrowSize

Multiplicative scale factor for arrowheads.

vararrowSize:Double?

fontName

varfontName:String?

The name of the used font. (System dependend) The font size for object labels.

fontSize

varfontSize:Double?

textColor

vartextColor:Color?

The font color for object labels.

labelURL

varlabelURL:URL?

labelDistance

labeldistance Multiplicative scaling factor adjusting the distance that the headlabel(taillabel) is from the head(tail) node. The default distance is 10 points. See labelangle for more details.

varlabelDistance:Double?

labelAngle

This, along with labeldistance, determine where the headlabel (taillabel) are placed with respect to the head (tail) in polar coordinates. The origin in the coordinate system is the point where the edge touches the node. The ray of 0 degrees goes from the origin back along the edge, parallel to the edge at the origin. The angle, in degrees, specifies the rotation from the 0 degree ray, with positive angles moving counterclockwise and negative angles moving clockwise.

varlabelAngle:Double?

labelWidth

Width of graph or cluster label, in inches.

varlabelWidth:Double?

labelFloat

varlabelFloat:Bool?

If true, allows edge labels to be less constrained in position. In particular, it may appear on top of other edges

exteriorLabel

External label for a node or edge. For nodes, the label will be placed outside of the node but near it. For edges, the label will be placed near the center of the edge. This can be useful in dot to avoid the occasional problem when the use of edge labels distorts the layout. For other layouts, the xlabel attribute can be viewed as a synonym for the label attribute. These labels are added after all nodes and edges have been placed. The labels will be placed so that they do not overlap any node or label. This means it may not be possible to place all of them. To force placing all of them, use the forcelabels attribute.

varexteriorLabel:String?

exteriorLabelPosition

Position of an exterior label, in points. The position indicates the center of the label.

varexteriorLabelPosition:Point?

decorate

If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline.

vardecorate:Bool?

noJustify

By default, the justification of multi-line labels is done within the largest context that makes sense. Thus, in the label of a polygonal node, a left-justified line will align with the left side of the node (shifted by the prescribed margin). In record nodes, left-justified line will line up with the left side of the enclosing column of fields. If nojustify is "true", multi-line labels will be justified in the context of itself. For example, if the attribute is set, the first label line is long, and the second is shorter and left-justified, the second will align with the left-most character in the first line, regardless of how large the node might be.

varnoJustify:Bool?

href

varhref:String?

url

varurl:URL?

tooltip

Tooltip annotation attached to the non-label part of an edge. This is used only if the edge has a URL or edgeURL attribute.

vartooltip:String?

E escString "" svg, cmap only

head

varhead:Arrow?

headPort

Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary. See limitation.

varheadPort:Port?

headLabel

varheadLabel:String?

headLabelPosition

Position of an edge's head label, in points. The position indicates the center of the label.

varheadLabelPosition:Point?

headClip

If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

varheadClip:Bool?

headURL

varheadURL:URL?

headTarget

If the edge has a headURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

varheadTarget:String?

headTooltip

Tooltip annotation attached to the head of an edge. This is used only if the edge has a headURL attribute.

varheadTooltip:String?

logicalHead

Logical head of an edge. When compound is true, if lhead is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalHead:String?

sameHead

Edges with the same head and the same samehead value are aimed at the same point on the head. This has no effect on loops. Each node can have at most 5 unique samehead values. See limitation.

varsameHead:String?
dot only

tail

vartail:Arrow?

tailClip

If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

vartailClip:Bool?

tailURL

vartailURL:URL?

tailTarget

If the edge has a tailURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

vartailTarget:String?

tailTooltip

vartailTooltip:String?

logicalTail

Logical tail of an edge. When compound is true, if ltail is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalTail:String?

sameTail

Edges with the same tail and the same sametail value are aimed at the same point on the tail. This has no effect on loops. Each node can have at most 5 unique sametail values. See limitation.

varsameTail:String?
dot only

tailLabel

vartailLabel:String?

minimumRankDifference

minlen Minimum edge length (rank difference between head and tail).

varminimumRankDifference:Int?

E int 1 0 dot only

guideBoxLocation

showboxes Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2. (Debugging)

varguideBoxLocation:Location?
ENG int 0 0 dot only

preferredEdgeLength

len Preferred edge length, in inches.

varpreferredEdgeLength:Double?

dictionaryValue

vardictionaryValue:[String:Any]

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Oct 17, 2021. It is now read-only.

Edge_Attributes

mattt edited this page Nov 16, 2020 · 2 revisions

Edge.Attributes

publicstruct Attributes: Hashable

Inheritance

Hashable

Properties

comment

Comments are inserted into output. Device-dependent

varcomment:String?

`class`

Unofficial, but supported by certain output formats, like svg.

var`class`:String?

constraint

If false, the edge is not used in ranking the nodes.

varconstraint:Bool?

Normally, edges are used to place the nodes on ranks. In the second graph below, all nodes were placed on different ranks. In the first example, the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c.

If false, the edge is not used in ranking the nodes. For example, in the graph digraph G { a -> c; a -> b; b -> c [constraint=false]; }

the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c, yielding the graph:

ordering

If the value of the attribute is "out", then the outedges of a node, that is, edges with the node as its tail node, must appear left-to-right in the same order in which they are defined in the input. If the value of the attribute is "in", then the inedges of a node must appear left-to-right in the same order in which they are defined in the input. If defined as a graph or subgraph attribute, the value is applied to all nodes in the graph or subgraph. Note that the graph attribute takes precedence over the node attribute.

varordering:Ordering?

weight

Weight of edge. In dot, the heavier the weight, the shorter, straighter and more vertical the edge is. N.B. Weights in dot must be integers. For twopi, a weight of 0 indicates the edge should not be used in constructing a spanning tree from the root. For other layouts, a larger weight encourages the layout to make the edge length closer to that specified by the len attribute.

varweight:Double?

weight E int double 1 0(dot,twopi) 1(neato,fdp)

style

Set style information for components of the graph. For cluster subgraphs, if style="filled", the cluster box's background is filled. If the default style attribute has been set for a component, an individual component can use style="" to revert to the normal default. For example, if the graph has

varstyle:Style?

edge [style="invis"]

making all edges invisible, a specific edge can overrride this via:

a -> b [style=""]

Of course, the component can also explicitly set its style attribute to the desired value.

strokeColor

varstrokeColor:Color?

Basic drawing color for graphics.

strokeWidth

penwidth Specifies the width of the pen, in points, used to draw lines and curves, including the boundaries of edges and clusters. The value is inherited by subclusters. It has no effect on text.

varstrokeWidth:Double?

arrowSize

Multiplicative scale factor for arrowheads.

vararrowSize:Double?

fontName

varfontName:String?

The name of the used font. (System dependend) The font size for object labels.

fontSize

varfontSize:Double?

textColor

vartextColor:Color?

The font color for object labels.

labelURL

varlabelURL:URL?

labelDistance

labeldistance Multiplicative scaling factor adjusting the distance that the headlabel(taillabel) is from the head(tail) node. The default distance is 10 points. See labelangle for more details.

varlabelDistance:Double?

labelAngle

This, along with labeldistance, determine where the headlabel (taillabel) are placed with respect to the head (tail) in polar coordinates. The origin in the coordinate system is the point where the edge touches the node. The ray of 0 degrees goes from the origin back along the edge, parallel to the edge at the origin. The angle, in degrees, specifies the rotation from the 0 degree ray, with positive angles moving counterclockwise and negative angles moving clockwise.

varlabelAngle:Double?

labelWidth

Width of graph or cluster label, in inches.

varlabelWidth:Double?

labelFloat

varlabelFloat:Bool?

If true, allows edge labels to be less constrained in position. In particular, it may appear on top of other edges

exteriorLabel

External label for a node or edge. For nodes, the label will be placed outside of the node but near it. For edges, the label will be placed near the center of the edge. This can be useful in dot to avoid the occasional problem when the use of edge labels distorts the layout. For other layouts, the xlabel attribute can be viewed as a synonym for the label attribute. These labels are added after all nodes and edges have been placed. The labels will be placed so that they do not overlap any node or label. This means it may not be possible to place all of them. To force placing all of them, use the forcelabels attribute.

varexteriorLabel:String?

exteriorLabelPosition

Position of an exterior label, in points. The position indicates the center of the label.

varexteriorLabelPosition:Point?

decorate

If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline.

vardecorate:Bool?

noJustify

By default, the justification of multi-line labels is done within the largest context that makes sense. Thus, in the label of a polygonal node, a left-justified line will align with the left side of the node (shifted by the prescribed margin). In record nodes, left-justified line will line up with the left side of the enclosing column of fields. If nojustify is "true", multi-line labels will be justified in the context of itself. For example, if the attribute is set, the first label line is long, and the second is shorter and left-justified, the second will align with the left-most character in the first line, regardless of how large the node might be.

varnoJustify:Bool?

href

varhref:String?

url

varurl:URL?

tooltip

Tooltip annotation attached to the non-label part of an edge. This is used only if the edge has a URL or edgeURL attribute.

vartooltip:String?

E escString "" svg, cmap only

head

varhead:Arrow?

headPort

Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary. See limitation.

varheadPort:Port?

headLabel

varheadLabel:String?

headLabelPosition

Position of an edge's head label, in points. The position indicates the center of the label.

varheadLabelPosition:Point?

headClip

If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

varheadClip:Bool?

headURL

varheadURL:URL?

headTarget

If the edge has a headURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

varheadTarget:String?

headTooltip

Tooltip annotation attached to the head of an edge. This is used only if the edge has a headURL attribute.

varheadTooltip:String?

logicalHead

Logical head of an edge. When compound is true, if lhead is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalHead:String?

sameHead

Edges with the same head and the same samehead value are aimed at the same point on the head. This has no effect on loops. Each node can have at most 5 unique samehead values. See limitation.

varsameHead:String?
dot only

tail

vartail:Arrow?

tailClip

If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

vartailClip:Bool?

tailURL

vartailURL:URL?

tailTarget

If the edge has a tailURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

vartailTarget:String?

tailTooltip

vartailTooltip:String?

logicalTail

Logical tail of an edge. When compound is true, if ltail is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalTail:String?

sameTail

Edges with the same tail and the same sametail value are aimed at the same point on the tail. This has no effect on loops. Each node can have at most 5 unique sametail values. See limitation.

varsameTail:String?
dot only

tailLabel

vartailLabel:String?

minimumRankDifference

minlen Minimum edge length (rank difference between head and tail).

varminimumRankDifference:Int?

E int 1 0 dot only

guideBoxLocation

showboxes Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2. (Debugging)

varguideBoxLocation:Location?
ENG int 0 0 dot only

preferredEdgeLength

len Preferred edge length, in inches.

varpreferredEdgeLength:Double?

dictionaryValue

vardictionaryValue:[String:Any]

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Oct 17, 2021. It is now read-only.

Edge_Attributes

mattt edited this page Nov 16, 2020 · 2 revisions

Edge.Attributes

publicstruct Attributes: Hashable

Inheritance

Hashable

Properties

comment

Comments are inserted into output. Device-dependent

varcomment:String?

`class`

Unofficial, but supported by certain output formats, like svg.

var`class`:String?

constraint

If false, the edge is not used in ranking the nodes.

varconstraint:Bool?

Normally, edges are used to place the nodes on ranks. In the second graph below, all nodes were placed on different ranks. In the first example, the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c.

If false, the edge is not used in ranking the nodes. For example, in the graph digraph G { a -> c; a -> b; b -> c [constraint=false]; }

the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c, yielding the graph:

ordering

If the value of the attribute is "out", then the outedges of a node, that is, edges with the node as its tail node, must appear left-to-right in the same order in which they are defined in the input. If the value of the attribute is "in", then the inedges of a node must appear left-to-right in the same order in which they are defined in the input. If defined as a graph or subgraph attribute, the value is applied to all nodes in the graph or subgraph. Note that the graph attribute takes precedence over the node attribute.

varordering:Ordering?

weight

Weight of edge. In dot, the heavier the weight, the shorter, straighter and more vertical the edge is. N.B. Weights in dot must be integers. For twopi, a weight of 0 indicates the edge should not be used in constructing a spanning tree from the root. For other layouts, a larger weight encourages the layout to make the edge length closer to that specified by the len attribute.

varweight:Double?

weight E int double 1 0(dot,twopi) 1(neato,fdp)

style

Set style information for components of the graph. For cluster subgraphs, if style="filled", the cluster box's background is filled. If the default style attribute has been set for a component, an individual component can use style="" to revert to the normal default. For example, if the graph has

varstyle:Style?

edge [style="invis"]

making all edges invisible, a specific edge can overrride this via:

a -> b [style=""]

Of course, the component can also explicitly set its style attribute to the desired value.

strokeColor

varstrokeColor:Color?

Basic drawing color for graphics.

strokeWidth

penwidth Specifies the width of the pen, in points, used to draw lines and curves, including the boundaries of edges and clusters. The value is inherited by subclusters. It has no effect on text.

varstrokeWidth:Double?

arrowSize

Multiplicative scale factor for arrowheads.

vararrowSize:Double?

fontName

varfontName:String?

The name of the used font. (System dependend) The font size for object labels.

fontSize

varfontSize:Double?

textColor

vartextColor:Color?

The font color for object labels.

labelURL

varlabelURL:URL?

labelDistance

labeldistance Multiplicative scaling factor adjusting the distance that the headlabel(taillabel) is from the head(tail) node. The default distance is 10 points. See labelangle for more details.

varlabelDistance:Double?

labelAngle

This, along with labeldistance, determine where the headlabel (taillabel) are placed with respect to the head (tail) in polar coordinates. The origin in the coordinate system is the point where the edge touches the node. The ray of 0 degrees goes from the origin back along the edge, parallel to the edge at the origin. The angle, in degrees, specifies the rotation from the 0 degree ray, with positive angles moving counterclockwise and negative angles moving clockwise.

varlabelAngle:Double?

labelWidth

Width of graph or cluster label, in inches.

varlabelWidth:Double?

labelFloat

varlabelFloat:Bool?

If true, allows edge labels to be less constrained in position. In particular, it may appear on top of other edges

exteriorLabel

External label for a node or edge. For nodes, the label will be placed outside of the node but near it. For edges, the label will be placed near the center of the edge. This can be useful in dot to avoid the occasional problem when the use of edge labels distorts the layout. For other layouts, the xlabel attribute can be viewed as a synonym for the label attribute. These labels are added after all nodes and edges have been placed. The labels will be placed so that they do not overlap any node or label. This means it may not be possible to place all of them. To force placing all of them, use the forcelabels attribute.

varexteriorLabel:String?

exteriorLabelPosition

Position of an exterior label, in points. The position indicates the center of the label.

varexteriorLabelPosition:Point?

decorate

If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline.

vardecorate:Bool?

noJustify

By default, the justification of multi-line labels is done within the largest context that makes sense. Thus, in the label of a polygonal node, a left-justified line will align with the left side of the node (shifted by the prescribed margin). In record nodes, left-justified line will line up with the left side of the enclosing column of fields. If nojustify is "true", multi-line labels will be justified in the context of itself. For example, if the attribute is set, the first label line is long, and the second is shorter and left-justified, the second will align with the left-most character in the first line, regardless of how large the node might be.

varnoJustify:Bool?

href

varhref:String?

url

varurl:URL?

tooltip

Tooltip annotation attached to the non-label part of an edge. This is used only if the edge has a URL or edgeURL attribute.

vartooltip:String?

E escString "" svg, cmap only

head

varhead:Arrow?

headPort

Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary. See limitation.

varheadPort:Port?

headLabel

varheadLabel:String?

headLabelPosition

Position of an edge's head label, in points. The position indicates the center of the label.

varheadLabelPosition:Point?

headClip

If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

varheadClip:Bool?

headURL

varheadURL:URL?

headTarget

If the edge has a headURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

varheadTarget:String?

headTooltip

Tooltip annotation attached to the head of an edge. This is used only if the edge has a headURL attribute.

varheadTooltip:String?

logicalHead

Logical head of an edge. When compound is true, if lhead is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalHead:String?

sameHead

Edges with the same head and the same samehead value are aimed at the same point on the head. This has no effect on loops. Each node can have at most 5 unique samehead values. See limitation.

varsameHead:String?
dot only

tail

vartail:Arrow?

tailClip

If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

vartailClip:Bool?

tailURL

vartailURL:URL?

tailTarget

If the edge has a tailURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

vartailTarget:String?

tailTooltip

vartailTooltip:String?

logicalTail

Logical tail of an edge. When compound is true, if ltail is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalTail:String?

sameTail

Edges with the same tail and the same sametail value are aimed at the same point on the tail. This has no effect on loops. Each node can have at most 5 unique sametail values. See limitation.

varsameTail:String?
dot only

tailLabel

vartailLabel:String?

minimumRankDifference

minlen Minimum edge length (rank difference between head and tail).

varminimumRankDifference:Int?

E int 1 0 dot only

guideBoxLocation

showboxes Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2. (Debugging)

varguideBoxLocation:Location?
ENG int 0 0 dot only

preferredEdgeLength

len Preferred edge length, in inches.

varpreferredEdgeLength:Double?

dictionaryValue

vardictionaryValue:[String:Any]

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Oct 17, 2021. It is now read-only.

Edge_Attributes

mattt edited this page Nov 16, 2020 · 2 revisions

Edge.Attributes

publicstruct Attributes: Hashable

Inheritance

Hashable

Properties

comment

Comments are inserted into output. Device-dependent

varcomment:String?

`class`

Unofficial, but supported by certain output formats, like svg.

var`class`:String?

constraint

If false, the edge is not used in ranking the nodes.

varconstraint:Bool?

Normally, edges are used to place the nodes on ranks. In the second graph below, all nodes were placed on different ranks. In the first example, the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c.

If false, the edge is not used in ranking the nodes. For example, in the graph digraph G { a -> c; a -> b; b -> c [constraint=false]; }

the edge b -> c does not add a constraint during rank assignment, so the only constraints are that a be above b and c, yielding the graph:

ordering

If the value of the attribute is "out", then the outedges of a node, that is, edges with the node as its tail node, must appear left-to-right in the same order in which they are defined in the input. If the value of the attribute is "in", then the inedges of a node must appear left-to-right in the same order in which they are defined in the input. If defined as a graph or subgraph attribute, the value is applied to all nodes in the graph or subgraph. Note that the graph attribute takes precedence over the node attribute.

varordering:Ordering?

weight

Weight of edge. In dot, the heavier the weight, the shorter, straighter and more vertical the edge is. N.B. Weights in dot must be integers. For twopi, a weight of 0 indicates the edge should not be used in constructing a spanning tree from the root. For other layouts, a larger weight encourages the layout to make the edge length closer to that specified by the len attribute.

varweight:Double?

weight E int double 1 0(dot,twopi) 1(neato,fdp)

style

Set style information for components of the graph. For cluster subgraphs, if style="filled", the cluster box's background is filled. If the default style attribute has been set for a component, an individual component can use style="" to revert to the normal default. For example, if the graph has

varstyle:Style?

edge [style="invis"]

making all edges invisible, a specific edge can overrride this via:

a -> b [style=""]

Of course, the component can also explicitly set its style attribute to the desired value.

strokeColor

varstrokeColor:Color?

Basic drawing color for graphics.

strokeWidth

penwidth Specifies the width of the pen, in points, used to draw lines and curves, including the boundaries of edges and clusters. The value is inherited by subclusters. It has no effect on text.

varstrokeWidth:Double?

arrowSize

Multiplicative scale factor for arrowheads.

vararrowSize:Double?

fontName

varfontName:String?

The name of the used font. (System dependend) The font size for object labels.

fontSize

varfontSize:Double?

textColor

vartextColor:Color?

The font color for object labels.

labelURL

varlabelURL:URL?

labelDistance

labeldistance Multiplicative scaling factor adjusting the distance that the headlabel(taillabel) is from the head(tail) node. The default distance is 10 points. See labelangle for more details.

varlabelDistance:Double?

labelAngle

This, along with labeldistance, determine where the headlabel (taillabel) are placed with respect to the head (tail) in polar coordinates. The origin in the coordinate system is the point where the edge touches the node. The ray of 0 degrees goes from the origin back along the edge, parallel to the edge at the origin. The angle, in degrees, specifies the rotation from the 0 degree ray, with positive angles moving counterclockwise and negative angles moving clockwise.

varlabelAngle:Double?

labelWidth

Width of graph or cluster label, in inches.

varlabelWidth:Double?

labelFloat

varlabelFloat:Bool?

If true, allows edge labels to be less constrained in position. In particular, it may appear on top of other edges

exteriorLabel

External label for a node or edge. For nodes, the label will be placed outside of the node but near it. For edges, the label will be placed near the center of the edge. This can be useful in dot to avoid the occasional problem when the use of edge labels distorts the layout. For other layouts, the xlabel attribute can be viewed as a synonym for the label attribute. These labels are added after all nodes and edges have been placed. The labels will be placed so that they do not overlap any node or label. This means it may not be possible to place all of them. To force placing all of them, use the forcelabels attribute.

varexteriorLabel:String?

exteriorLabelPosition

Position of an exterior label, in points. The position indicates the center of the label.

varexteriorLabelPosition:Point?

decorate

If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline.

vardecorate:Bool?

noJustify

By default, the justification of multi-line labels is done within the largest context that makes sense. Thus, in the label of a polygonal node, a left-justified line will align with the left side of the node (shifted by the prescribed margin). In record nodes, left-justified line will line up with the left side of the enclosing column of fields. If nojustify is "true", multi-line labels will be justified in the context of itself. For example, if the attribute is set, the first label line is long, and the second is shorter and left-justified, the second will align with the left-most character in the first line, regardless of how large the node might be.

varnoJustify:Bool?

href

varhref:String?

url

varurl:URL?

tooltip

Tooltip annotation attached to the non-label part of an edge. This is used only if the edge has a URL or edgeURL attribute.

vartooltip:String?

E escString "" svg, cmap only

head

varhead:Arrow?

headPort

Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary. See limitation.

varheadPort:Port?

headLabel

varheadLabel:String?

headLabelPosition

Position of an edge's head label, in points. The position indicates the center of the label.

varheadLabelPosition:Point?

headClip

If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

varheadClip:Bool?

headURL

varheadURL:URL?

headTarget

If the edge has a headURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

varheadTarget:String?

headTooltip

Tooltip annotation attached to the head of an edge. This is used only if the edge has a headURL attribute.

varheadTooltip:String?

logicalHead

Logical head of an edge. When compound is true, if lhead is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalHead:String?

sameHead

Edges with the same head and the same samehead value are aimed at the same point on the head. This has no effect on loops. Each node can have at most 5 unique samehead values. See limitation.

varsameHead:String?
dot only

tail

vartail:Arrow?

tailClip

If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable.

vartailClip:Bool?

tailURL

vartailURL:URL?

tailTarget

If the edge has a tailURL, this attribute determines which window of the browser is used for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used.

vartailTarget:String?

tailTooltip

vartailTooltip:String?

logicalTail

Logical tail of an edge. When compound is true, if ltail is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation.

varlogicalTail:String?

sameTail

Edges with the same tail and the same sametail value are aimed at the same point on the tail. This has no effect on loops. Each node can have at most 5 unique sametail values. See limitation.

varsameTail:String?
dot only

tailLabel

vartailLabel:String?

minimumRankDifference

minlen Minimum edge length (rank difference between head and tail).

varminimumRankDifference:Int?

E int 1 0 dot only

guideBoxLocation

showboxes Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2. (Debugging)

varguideBoxLocation:Location?
ENG int 0 0 dot only

preferredEdgeLength

len Preferred edge length, in inches.

varpreferredEdgeLength:Double?

dictionaryValue

vardictionaryValue:[String:Any]

Clone this wiki locally