Skip to content

A subgraph (cluster) inside a Graph.

Obtain via Graph.addSubgraph or Subgraph.addSubgraph. All mutation methods return this for chaining. Call Subgraph.delete (or use the using keyword) when finished to free the underlying WASM wrapper — the actual subgraph data is owned by the parent Graph and is freed with it.

Every subgraph is automatically rendered as a cluster (the cluster_ prefix is added to the id when communicating with the underlying cgraph library). The id Graphviz attribute on the subgraph is set to the user-supplied id (without the prefix):

ts
using cluster = graph.addSubgraph("0");
cluster
  .setAttr("label", "My Cluster")
  .setAttr("style", "filled")
  .setAttr("color", "lightblue")
  .addEdge("a", "b");

Constructors ​

Constructor ​

new Subgraph(sg): Subgraph

Internal

Parameters ​

sg ​

CSubgraph

Returns ​

Subgraph

Methods ​

addNode() ​

Call Signature ​

addNode(id, attrs?, htmlAttrs?): this

Create (or find) a node and add it to this subgraph. The node's id Graphviz attribute is automatically set to match id.

Parameters ​
id ​

string

attrs? ​

Partial<{ area?: number; class?: string; color?: string; colorscheme?: string; comment?: string; distortion?: number; fillcolor?: string; fixedsize?: NonNullable<string | boolean | undefined>; fontcolor?: string; fontname?: string; fontsize?: number; gradientangle?: number; group?: string; height?: number; href?: string; id?: string; image?: string; imagepos?: string; imagescale?: NonNullable<string | boolean | undefined>; label?: string; labelloc?: NonNullable<LabelLoc | undefined>; layer?: string; margin?: NonNullable<string | number | undefined>; nojustify?: NonNullable<boolean | undefined>; ordering?: string; orientation?: number; penwidth?: number; peripheries?: number; pin?: NonNullable<boolean | undefined>; pos?: string; rects?: string; regular?: NonNullable<boolean | undefined>; root?: NonNullable<string | boolean | undefined>; samplepoints?: number; shape?: NonNullable<Shape | undefined>; shapefile?: string; showboxes?: number; sides?: number; skew?: number; sortv?: number; style?: string; target?: string; tooltip?: string; URL?: string; vertices?: string; width?: number; xlabel?: string; xlp?: string; z?: number; }>

htmlAttrs? ​

Partial<{ area?: number; class?: string; color?: string; colorscheme?: string; comment?: string; distortion?: number; fillcolor?: string; fixedsize?: NonNullable<string | boolean | undefined>; fontcolor?: string; fontname?: string; fontsize?: number; gradientangle?: number; group?: string; height?: number; href?: string; id?: string; image?: string; imagepos?: string; imagescale?: NonNullable<string | boolean | undefined>; label?: string; labelloc?: NonNullable<LabelLoc | undefined>; layer?: string; margin?: NonNullable<string | number | undefined>; nojustify?: NonNullable<boolean | undefined>; ordering?: string; orientation?: number; penwidth?: number; peripheries?: number; pin?: NonNullable<boolean | undefined>; pos?: string; rects?: string; regular?: NonNullable<boolean | undefined>; root?: NonNullable<string | boolean | undefined>; samplepoints?: number; shape?: NonNullable<Shape | undefined>; shapefile?: string; showboxes?: number; sides?: number; skew?: number; sortv?: number; style?: string; target?: string; tooltip?: string; URL?: string; vertices?: string; width?: number; xlabel?: string; xlp?: string; z?: number; }>

Returns ​

this

Call Signature ​

addNode(init): this

Create (or find) a node and add it to this subgraph. The node's id Graphviz attribute is automatically set to match id.

Parameters ​
init ​

NodeInit

Returns ​

this


addVertex() ​

Call Signature ​

addVertex(id, attrs?, htmlAttrs?): this

Alias for addNode.

Parameters ​
id ​

string

attrs? ​

Partial<{ area?: number; class?: string; color?: string; colorscheme?: string; comment?: string; distortion?: number; fillcolor?: string; fixedsize?: NonNullable<string | boolean | undefined>; fontcolor?: string; fontname?: string; fontsize?: number; gradientangle?: number; group?: string; height?: number; href?: string; id?: string; image?: string; imagepos?: string; imagescale?: NonNullable<string | boolean | undefined>; label?: string; labelloc?: NonNullable<LabelLoc | undefined>; layer?: string; margin?: NonNullable<string | number | undefined>; nojustify?: NonNullable<boolean | undefined>; ordering?: string; orientation?: number; penwidth?: number; peripheries?: number; pin?: NonNullable<boolean | undefined>; pos?: string; rects?: string; regular?: NonNullable<boolean | undefined>; root?: NonNullable<string | boolean | undefined>; samplepoints?: number; shape?: NonNullable<Shape | undefined>; shapefile?: string; showboxes?: number; sides?: number; skew?: number; sortv?: number; style?: string; target?: string; tooltip?: string; URL?: string; vertices?: string; width?: number; xlabel?: string; xlp?: string; z?: number; }>

htmlAttrs? ​

Partial<{ area?: number; class?: string; color?: string; colorscheme?: string; comment?: string; distortion?: number; fillcolor?: string; fixedsize?: NonNullable<string | boolean | undefined>; fontcolor?: string; fontname?: string; fontsize?: number; gradientangle?: number; group?: string; height?: number; href?: string; id?: string; image?: string; imagepos?: string; imagescale?: NonNullable<string | boolean | undefined>; label?: string; labelloc?: NonNullable<LabelLoc | undefined>; layer?: string; margin?: NonNullable<string | number | undefined>; nojustify?: NonNullable<boolean | undefined>; ordering?: string; orientation?: number; penwidth?: number; peripheries?: number; pin?: NonNullable<boolean | undefined>; pos?: string; rects?: string; regular?: NonNullable<boolean | undefined>; root?: NonNullable<string | boolean | undefined>; samplepoints?: number; shape?: NonNullable<Shape | undefined>; shapefile?: string; showboxes?: number; sides?: number; skew?: number; sortv?: number; style?: string; target?: string; tooltip?: string; URL?: string; vertices?: string; width?: number; xlabel?: string; xlp?: string; z?: number; }>

Returns ​

this

Call Signature ​

addVertex(init): this

Alias for addNode.

Parameters ​
init ​

NodeInit

Returns ​

this


addEdge() ​

Call Signature ​

addEdge(tail, head, attrs?, htmlAttrs?): this

Create an edge inside this subgraph. Both endpoints are created

  • automatically if they do not already exist.
Parameters ​
tail ​

string

string

attrs? ​

Partial<{ arrowhead?: NonNullable<ArrowType | undefined>; arrowsize?: number; arrowtail?: NonNullable<ArrowType | undefined>; class?: string; color?: string; colorscheme?: string; comment?: string; constraint?: NonNullable<boolean | undefined>; decorate?: NonNullable<boolean | undefined>; dir?: NonNullable<DirType | undefined>; edgehref?: string; edgetarget?: string; edgetooltip?: string; edgeURL?: string; fillcolor?: string; fontcolor?: string; fontname?: string; fontsize?: number; head_lp?: string; headclip?: NonNullable<boolean | undefined>; headhref?: string; headlabel?: string; headport?: string; headtarget?: string; headtooltip?: string; headURL?: string; href?: string; id?: string; label?: string; labelangle?: number; labeldistance?: number; labelfloat?: NonNullable<boolean | undefined>; labelfontcolor?: string; labelfontname?: string; labelfontsize?: number; labelhref?: string; labeltarget?: string; labeltooltip?: string; labelURL?: string; layer?: string; len?: number; lhead?: string; lp?: string; ltail?: string; minlen?: number; nojustify?: NonNullable<boolean | undefined>; penwidth?: number; pos?: string; radius?: number; samehead?: string; sametail?: string; showboxes?: number; style?: string; tail_lp?: string; tailclip?: NonNullable<boolean | undefined>; tailhref?: string; taillabel?: string; tailport?: string; tailtarget?: string; tailtooltip?: string; tailURL?: string; target?: string; tooltip?: string; URL?: string; weight?: number; xlabel?: string; xlp?: string; }>

htmlAttrs? ​

Partial<{ arrowhead?: NonNullable<ArrowType | undefined>; arrowsize?: number; arrowtail?: NonNullable<ArrowType | undefined>; class?: string; color?: string; colorscheme?: string; comment?: string; constraint?: NonNullable<boolean | undefined>; decorate?: NonNullable<boolean | undefined>; dir?: NonNullable<DirType | undefined>; edgehref?: string; edgetarget?: string; edgetooltip?: string; edgeURL?: string; fillcolor?: string; fontcolor?: string; fontname?: string; fontsize?: number; head_lp?: string; headclip?: NonNullable<boolean | undefined>; headhref?: string; headlabel?: string; headport?: string; headtarget?: string; headtooltip?: string; headURL?: string; href?: string; id?: string; label?: string; labelangle?: number; labeldistance?: number; labelfloat?: NonNullable<boolean | undefined>; labelfontcolor?: string; labelfontname?: string; labelfontsize?: number; labelhref?: string; labeltarget?: string; labeltooltip?: string; labelURL?: string; layer?: string; len?: number; lhead?: string; lp?: string; ltail?: string; minlen?: number; nojustify?: NonNullable<boolean | undefined>; penwidth?: number; pos?: string; radius?: number; samehead?: string; sametail?: string; showboxes?: number; style?: string; tail_lp?: string; tailclip?: NonNullable<boolean | undefined>; tailhref?: string; taillabel?: string; tailport?: string; tailtarget?: string; tailtooltip?: string; tailURL?: string; target?: string; tooltip?: string; URL?: string; weight?: number; xlabel?: string; xlp?: string; }>

Returns ​

this

Call Signature ​

addEdge(tail, head, key, attrs?, htmlAttrs?): this

Create an edge inside this subgraph. Both endpoints are created

  • automatically if they do not already exist.
Parameters ​
tail ​

string

head ​

string

key ​

string

attrs? ​

Partial<{ arrowhead?: NonNullable<ArrowType | undefined>; arrowsize?: number; arrowtail?: NonNullable<ArrowType | undefined>; class?: string; color?: string; colorscheme?: string; comment?: string; constraint?: NonNullable<boolean | undefined>; decorate?: NonNullable<boolean | undefined>; dir?: NonNullable<DirType | undefined>; edgehref?: string; edgetarget?: string; edgetooltip?: string; edgeURL?: string; fillcolor?: string; fontcolor?: string; fontname?: string; fontsize?: number; head_lp?: string; headclip?: NonNullable<boolean | undefined>; headhref?: string; headlabel?: string; headport?: string; headtarget?: string; headtooltip?: string; headURL?: string; href?: string; id?: string; label?: string; labelangle?: number; labeldistance?: number; labelfloat?: NonNullable<boolean | undefined>; labelfontcolor?: string; labelfontname?: string; labelfontsize?: number; labelhref?: string; labeltarget?: string; labeltooltip?: string; labelURL?: string; layer?: string; len?: number; lhead?: string; lp?: string; ltail?: string; minlen?: number; nojustify?: NonNullable<boolean | undefined>; penwidth?: number; pos?: string; radius?: number; samehead?: string; sametail?: string; showboxes?: number; style?: string; tail_lp?: string; tailclip?: NonNullable<boolean | undefined>; tailhref?: string; taillabel?: string; tailport?: string; tailtarget?: string; tailtooltip?: string; tailURL?: string; target?: string; tooltip?: string; URL?: string; weight?: number; xlabel?: string; xlp?: string; }>

htmlAttrs? ​

Partial<{ arrowhead?: NonNullable<ArrowType | undefined>; arrowsize?: number; arrowtail?: NonNullable<ArrowType | undefined>; class?: string; color?: string; colorscheme?: string; comment?: string; constraint?: NonNullable<boolean | undefined>; decorate?: NonNullable<boolean | undefined>; dir?: NonNullable<DirType | undefined>; edgehref?: string; edgetarget?: string; edgetooltip?: string; edgeURL?: string; fillcolor?: string; fontcolor?: string; fontname?: string; fontsize?: number; head_lp?: string; headclip?: NonNullable<boolean | undefined>; headhref?: string; headlabel?: string; headport?: string; headtarget?: string; headtooltip?: string; headURL?: string; href?: string; id?: string; label?: string; labelangle?: number; labeldistance?: number; labelfloat?: NonNullable<boolean | undefined>; labelfontcolor?: string; labelfontname?: string; labelfontsize?: number; labelhref?: string; labeltarget?: string; labeltooltip?: string; labelURL?: string; layer?: string; len?: number; lhead?: string; lp?: string; ltail?: string; minlen?: number; nojustify?: NonNullable<boolean | undefined>; penwidth?: number; pos?: string; radius?: number; samehead?: string; sametail?: string; showboxes?: number; style?: string; tail_lp?: string; tailclip?: NonNullable<boolean | undefined>; tailhref?: string; taillabel?: string; tailport?: string; tailtarget?: string; tailtooltip?: string; tailURL?: string; target?: string; tooltip?: string; URL?: string; weight?: number; xlabel?: string; xlp?: string; }>

Returns ​

this

Call Signature ​

addEdge(init): this

Create an edge inside this subgraph. Both endpoints are created

  • automatically if they do not already exist.
Parameters ​
init ​

EdgeInit

Returns ​

this


addSubgraph() ​

Call Signature ​

addSubgraph(id, attrs?, htmlAttrs?): Subgraph

Create (or return an existing) subgraph under this subgraph. The cluster_ prefix is added to id internally so that layout engines render it as a bounded cluster. The subgraph's id Graphviz attribute is set to the user-supplied id (without the prefix).

Parameters ​
id ​

string

attrs? ​

Partial<{ area?: number; bb?: string; bgcolor?: string; class?: string; cluster?: NonNullable<boolean | undefined>; color?: string; colorscheme?: string; fillcolor?: string; fontcolor?: string; fontname?: string; fontsize?: number; gradientangle?: number; href?: string; id?: string; K?: number; label?: string; labeljust?: string; labelloc?: NonNullable<LabelLoc | undefined>; layer?: string; lheight?: number; lp?: string; lwidth?: number; margin?: NonNullable<string | number | undefined>; nojustify?: NonNullable<boolean | undefined>; pencolor?: string; penwidth?: number; peripheries?: number; rank?: NonNullable<RankType | undefined>; sortv?: number; style?: string; target?: string; tooltip?: string; URL?: string; }>

htmlAttrs? ​

Partial<{ area?: number; bb?: string; bgcolor?: string; class?: string; cluster?: NonNullable<boolean | undefined>; color?: string; colorscheme?: string; fillcolor?: string; fontcolor?: string; fontname?: string; fontsize?: number; gradientangle?: number; href?: string; id?: string; K?: number; label?: string; labeljust?: string; labelloc?: NonNullable<LabelLoc | undefined>; layer?: string; lheight?: number; lp?: string; lwidth?: number; margin?: NonNullable<string | number | undefined>; nojustify?: NonNullable<boolean | undefined>; pencolor?: string; penwidth?: number; peripheries?: number; rank?: NonNullable<RankType | undefined>; sortv?: number; style?: string; target?: string; tooltip?: string; URL?: string; }>

Returns ​

Subgraph

Call Signature ​

addSubgraph(init): Subgraph

Create (or return an existing) subgraph under this subgraph. The cluster_ prefix is added to id internally so that layout engines render it as a bounded cluster. The subgraph's id Graphviz attribute is set to the user-supplied id (without the prefix).

Parameters ​
init ​

SubgraphInit

Returns ​

Subgraph


applyInit() ​

applyInit(init): this

Parameters ​

init ​

SubgraphInit

Returns ​

this


removeNode() ​

removeNode(id): this

Remove a node from this subgraph only. The node (and any edges connecting it) remains in the root graph and all other subgraphs. No-op if the node is not in this subgraph.

Parameters ​

id ​

string

Returns ​

this


removeVertex() ​

removeVertex(id): this

Alias for removeNode.

Parameters ​

id ​

string

Returns ​

this


removeEdge() ​

removeEdge(tail, head, key?): this

Remove a single edge from this subgraph only. The edge remains in the root graph and all other subgraphs. No-op if the edge is not present.

Parameters ​

tail ​

string

head ​

string

key? ​

string = ""

Returns ​

this


setAttr() ​

Call Signature ​

setAttr<K>(attr, value?, defaultValue?): this

Set an attribute on the subgraph itself (e.g. "label", "style", "color", "bgcolor"). See the official Graphviz attribute reference for supported attributes and values.

When attr is a known cluster attribute the value type is inferred automatically. A generic string | number | boolean fallback is provided for custom or less-common attributes. Omit value to reset the attribute to Graphviz's default empty value. defaultValue is passed to Graphviz as the default for this attribute if it has not already been declared.

Type Parameters ​
K ​

K extends ClusterDotAttr

Parameters ​
attr ​

K

value? ​

NonNullable<ClusterAttrs[K]>

defaultValue? ​

string | number | boolean

Returns ​

this

Call Signature ​

setAttr(attr, value?, defaultValue?): this

Set an attribute on the subgraph itself (e.g. "label", "style", "color", "bgcolor"). See the official Graphviz attribute reference for supported attributes and values.

When attr is a known cluster attribute the value type is inferred automatically. A generic string | number | boolean fallback is provided for custom or less-common attributes. Omit value to reset the attribute to Graphviz's default empty value. defaultValue is passed to Graphviz as the default for this attribute if it has not already been declared.

Parameters ​
attr ​

string

value? ​

string | number | boolean

defaultValue? ​

string | number | boolean

Returns ​

this


setHtmlAttr() ​

Call Signature ​

setHtmlAttr<K>(attr, value, defaultValue?): this

Type Parameters ​
K ​

K extends ClusterDotAttr

Parameters ​
attr ​

K

value ​

NonNullable<ClusterAttrs[K]>

defaultValue? ​

string | number | boolean

Returns ​

this

Call Signature ​

setHtmlAttr(attr, value, defaultValue?): this

Parameters ​
attr ​

string

value ​

string | number | boolean

defaultValue? ​

string | number | boolean

Returns ​

this


setDefaultAttr() ​

Call Signature ​

setDefaultAttr<K>(attr, value): this

Type Parameters ​
K ​

K extends ClusterDotAttr

Parameters ​
attr ​

K

value ​

NonNullable<ClusterAttrs[K]>

Returns ​

this

Call Signature ​

setDefaultAttr(attr, value): this

Parameters ​
attr ​

string

value ​

string | number | boolean

Returns ​

this


setDefaultHtmlAttr() ​

Call Signature ​

setDefaultHtmlAttr<K>(attr, value): this

Type Parameters ​
K ​

K extends ClusterDotAttr

Parameters ​
attr ​

K

value ​

NonNullable<ClusterAttrs[K]>

Returns ​

this

Call Signature ​

setDefaultHtmlAttr(attr, value): this

Parameters ​
attr ​

string

value ​

string | number | boolean

Returns ​

this


removeAttr() ​

removeAttr(attr): this

Clear a subgraph-level attribute by resetting it to its default (empty) value. Equivalent to setAttr(attr, "").

Parameters ​

attr ​

string

Returns ​

this


setNodeAttr() ​

Call Signature ​

setNodeAttr<K>(node, attr, value?, defaultValue?): this

Set an attribute on a node inside this subgraph.

When attr is a known node attribute the value type is inferred automatically. A generic string | number | boolean fallback is provided for custom attributes. Omit value to reset the attribute to Graphviz's default empty value. defaultValue is passed to Graphviz as the default for this attribute if it has not already been declared.

Type Parameters ​
K ​

K extends NodeDotAttr

Parameters ​
node ​

string

attr ​

K

value? ​

NonNullable<NodeAttrs[K]>

defaultValue? ​

string | number | boolean

Returns ​

this

Call Signature ​

setNodeAttr(node, attr, value?, defaultValue?): this

Set an attribute on a node inside this subgraph.

When attr is a known node attribute the value type is inferred automatically. A generic string | number | boolean fallback is provided for custom attributes. Omit value to reset the attribute to Graphviz's default empty value. defaultValue is passed to Graphviz as the default for this attribute if it has not already been declared.

Parameters ​
node ​

string

attr ​

string

value? ​

string | number | boolean

defaultValue? ​

string | number | boolean

Returns ​

this


setVertexAttr() ​

Call Signature ​

setVertexAttr<K>(node, attr, value?, defaultValue?): this

Alias for setNodeAttr.

Type Parameters ​
K ​

K extends NodeDotAttr

Parameters ​
node ​

string

attr ​

K

value? ​

NonNullable<NodeAttrs[K]>

defaultValue? ​

string | number | boolean

Returns ​

this

Call Signature ​

setVertexAttr(node, attr, value?, defaultValue?): this

Alias for setNodeAttr.

Parameters ​
node ​

string

attr ​

string

value? ​

string | number | boolean

defaultValue? ​

string | number | boolean

Returns ​

this


setNodeHtmlAttr() ​

Call Signature ​

setNodeHtmlAttr<K>(node, attr, value, defaultValue?): this

Type Parameters ​
K ​

K extends NodeDotAttr

Parameters ​
node ​

string

attr ​

K

value ​

NonNullable<NodeAttrs[K]>

defaultValue? ​

string | number | boolean

Returns ​

this

Call Signature ​

setNodeHtmlAttr(node, attr, value, defaultValue?): this

Parameters ​
node ​

string

attr ​

string

value ​

string | number | boolean

defaultValue? ​

string | number | boolean

Returns ​

this


setVertexHtmlAttr() ​

Call Signature ​

setVertexHtmlAttr<K>(node, attr, value, defaultValue?): this

Alias for setNodeHtmlAttr.

Type Parameters ​
K ​

K extends NodeDotAttr

Parameters ​
node ​

string

attr ​

K

value ​

NonNullable<NodeAttrs[K]>

defaultValue? ​

string | number | boolean

Returns ​

this

Call Signature ​

setVertexHtmlAttr(node, attr, value, defaultValue?): this

Alias for setNodeHtmlAttr.

Parameters ​
node ​

string

attr ​

string

value ​

string | number | boolean

defaultValue? ​

string | number | boolean

Returns ​

this


setDefaultNodeAttr() ​

Call Signature ​

setDefaultNodeAttr<K>(attr, value): this

Type Parameters ​
K ​

K extends NodeDotAttr

Parameters ​
attr ​

K

value ​

NonNullable<NodeAttrs[K]>

Returns ​

this

Call Signature ​

setDefaultNodeAttr(attr, value): this

Parameters ​
attr ​

string

value ​

string | number | boolean

Returns ​

this


setDefaultVertexAttr() ​

Call Signature ​

setDefaultVertexAttr<K>(attr, value): this

Alias for setDefaultNodeAttr.

Type Parameters ​
K ​

K extends NodeDotAttr

Parameters ​
attr ​

K

value ​

NonNullable<NodeAttrs[K]>

Returns ​

this

Call Signature ​

setDefaultVertexAttr(attr, value): this

Alias for setDefaultNodeAttr.

Parameters ​
attr ​

string

value ​

string | number | boolean

Returns ​

this


setDefaultNodeHtmlAttr() ​

Call Signature ​

setDefaultNodeHtmlAttr<K>(attr, value): this

Type Parameters ​
K ​

K extends NodeDotAttr

Parameters ​
attr ​

K

value ​

NonNullable<NodeAttrs[K]>

Returns ​

this

Call Signature ​

setDefaultNodeHtmlAttr(attr, value): this

Parameters ​
attr ​

string

value ​

string | number | boolean

Returns ​

this


setDefaultVertexHtmlAttr() ​

Call Signature ​

setDefaultVertexHtmlAttr<K>(attr, value): this

Alias for setDefaultNodeHtmlAttr.

Type Parameters ​
K ​

K extends NodeDotAttr

Parameters ​
attr ​

K

value ​

NonNullable<NodeAttrs[K]>

Returns ​

this

Call Signature ​

setDefaultVertexHtmlAttr(attr, value): this

Alias for setDefaultNodeHtmlAttr.

Parameters ​
attr ​

string

value ​

string | number | boolean

Returns ​

this


removeNodeAttr() ​

removeNodeAttr(node, attr): this

Clear a node attribute inside this subgraph by resetting it to its default (empty) value. Equivalent to setNodeAttr(node, attr, "").

Parameters ​

node ​

string

attr ​

string

Returns ​

this


removeVertexAttr() ​

removeVertexAttr(node, attr): this

Alias for removeNodeAttr.

Parameters ​

node ​

string

attr ​

string

Returns ​

this


setEdgeAttr() ​

Call Signature ​

setEdgeAttr<K>(tail, head, key, attr, value?, defaultValue?): this

Set an attribute on an edge inside this subgraph (identified by tail, head, and key).

When attr is a known edge attribute the value type is inferred automatically. A generic string | number | boolean fallback is provided for custom attributes. Omit value to reset the attribute to Graphviz's default empty value. defaultValue is passed to Graphviz as the default for this attribute if it has not already been declared.

Type Parameters ​
K ​

K extends EdgeDotAttr

Parameters ​
tail ​

string

head ​

string

key ​

string

attr ​

K

value? ​

NonNullable<EdgeAttrs[K]>

defaultValue? ​

string | number | boolean

Returns ​

this

Call Signature ​

setEdgeAttr(tail, head, key, attr, value?, defaultValue?): this

Set an attribute on an edge inside this subgraph (identified by tail, head, and key).

When attr is a known edge attribute the value type is inferred automatically. A generic string | number | boolean fallback is provided for custom attributes. Omit value to reset the attribute to Graphviz's default empty value. defaultValue is passed to Graphviz as the default for this attribute if it has not already been declared.

Parameters ​
tail ​

string

head ​

string

key ​

string

attr ​

string

value? ​

string | number | boolean

defaultValue? ​

string | number | boolean

Returns ​

this


setEdgeHtmlAttr() ​

Call Signature ​

setEdgeHtmlAttr<K>(tail, head, key, attr, value, defaultValue?): this

Type Parameters ​
K ​

K extends EdgeDotAttr

Parameters ​
tail ​

string

head ​

string

key ​

string

attr ​

K

value ​

NonNullable<EdgeAttrs[K]>

defaultValue? ​

string | number | boolean

Returns ​

this

Call Signature ​

setEdgeHtmlAttr(tail, head, key, attr, value, defaultValue?): this

Parameters ​
tail ​

string

head ​

string

key ​

string

attr ​

string

value ​

string | number | boolean

defaultValue? ​

string | number | boolean

Returns ​

this


setDefaultEdgeAttr() ​

Call Signature ​

setDefaultEdgeAttr<K>(attr, value): this

Type Parameters ​
K ​

K extends EdgeDotAttr

Parameters ​
attr ​

K

value ​

NonNullable<EdgeAttrs[K]>

Returns ​

this

Call Signature ​

setDefaultEdgeAttr(attr, value): this

Parameters ​
attr ​

string

value ​

string | number | boolean

Returns ​

this


setDefaultEdgeHtmlAttr() ​

Call Signature ​

setDefaultEdgeHtmlAttr<K>(attr, value): this

Type Parameters ​
K ​

K extends EdgeDotAttr

Parameters ​
attr ​

K

value ​

NonNullable<EdgeAttrs[K]>

Returns ​

this

Call Signature ​

setDefaultEdgeHtmlAttr(attr, value): this

Parameters ​
attr ​

string

value ​

string | number | boolean

Returns ​

this


removeEdgeAttr() ​

removeEdgeAttr(tail, head, key, attr): this

Clear an edge attribute inside this subgraph by resetting it to its default (empty) value. Equivalent to setEdgeAttr(tail, head, key, attr, "").

Parameters ​

tail ​

string

head ​

string

key ​

string

attr ​

string

Returns ​

this


hasNode() ​

hasNode(id): boolean

Returns true if a node with the given id exists in this subgraph.

Parameters ​

id ​

string

Returns ​

boolean


hasVertex() ​

hasVertex(id): boolean

Alias for hasNode.

Parameters ​

id ​

string

Returns ​

boolean


hasEdge() ​

hasEdge(tail, head, key?): boolean

Returns true if an edge from tail to head exists in this subgraph. Pass key to check for a specific parallel edge; omit (or pass "") to check for any edge between the two nodes.

Parameters ​

tail ​

string

head ​

string

key? ​

string = ""

Returns ​

boolean


nodeCount() ​

nodeCount(): number

Returns the number of nodes in this subgraph.

Returns ​

number


vertexCount() ​

vertexCount(): number

Alias for nodeCount.

Returns ​

number


edgeCount() ​

edgeCount(): number

Returns the number of edges in this subgraph.

Returns ​

number


nodeDegree() ​

nodeDegree(node, inDegree?, outDegree?): number

Returns the degree of the node with the given id in this subgraph.

Parameters ​

node ​

string

inDegree? ​

number = 1

outDegree? ​

number = 1

Returns ​

number


vertexDegree() ​

vertexDegree(node, inDegree?, outDegree?): number

Alias for nodeDegree.

Parameters ​

node ​

string

inDegree? ​

number = 1

outDegree? ​

number = 1

Returns ​

number


getAttr() ​

getAttr(attr): string

Returns the current value of a subgraph-level attribute, or "" if the attribute has not been set.

Parameters ​

attr ​

string

Returns ​

string


getNodeAttr() ​

getNodeAttr(node, attr): string

Returns the current value of the named attribute on a node in this subgraph, or "" if the node or attribute does not exist.

Parameters ​

node ​

string

attr ​

string

Returns ​

string


getVertexAttr() ​

getVertexAttr(node, attr): string

Alias for getNodeAttr.

Parameters ​

node ​

string

attr ​

string

Returns ​

string


getEdgeAttr() ​

getEdgeAttr(tail, head, key, attr): string

Returns the current value of the named attribute on an edge in this subgraph, or "" if the edge or attribute does not exist. Pass key = "" for the first (or only) edge between tail and head.

Parameters ​

tail ​

string

head ​

string

key ​

string

attr ​

string

Returns ​

string


nodeNames() ​

nodeNames(): string[]

Returns the ids of all nodes in this subgraph (in internal iteration order).

Returns ​

string[]


vertexNames() ​

vertexNames(): string[]

Alias for nodeNames.

Returns ​

string[]


edges() ​

edges(): EdgeInfo[]

Returns all edges in this subgraph. Each unique edge is listed exactly once.

Returns ​

EdgeInfo[]


outEdges() ​

outEdges(node): EdgeInfo[]

Returns the out-edges of the node with the given id in this subgraph. Returns [] if the node does not exist.

Parameters ​

node ​

string

Returns ​

EdgeInfo[]


inEdges() ​

inEdges(node): EdgeInfo[]

Returns the in-edges of the node with the given id in this subgraph. Returns [] if the node does not exist.

Parameters ​

node ​

string

Returns ​

EdgeInfo[]


nodeEdges() ​

nodeEdges(node): EdgeInfo[]

Returns all edges incident to the node with the given id in this subgraph (both in and out). Returns [] if the node does not exist.

Parameters ​

node ​

string

Returns ​

EdgeInfo[]


delete() ​

delete(): void

Release the WASM wrapper. The subgraph data itself is freed when the parent Graph is deleted.

Returns ​

void


[dispose]() ​

[dispose](): void

Internal

– supports the using keyword (explicit resource management).

Returns ​

void

Released under the Apache-2.0 License.