dot

package
v1.3.5-alpha0819 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2024 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Shape     = "shape"
	Style     = "style"
	Color     = "color"
	FillColor = "fillcolor"
	FontName  = "fontname"
	FontSize  = "fontsize"
	FontColor = "fontcolor"
	NodeSep   = "nodesep"
)

Common attribute names

View Source
const (
	ShapeBox       = "box"
	ShapePolygon   = "polygon"
	ShapeEllipse   = "ellipse"
	ShapeOval      = "oval"
	ShapeCircle    = "circle"
	ShapePoint     = "point"
	ShapeEgg       = "egg"
	ShapeTriangle  = "triangle"
	ShapeNone      = "none"
	ShapeDiamond   = "diamond"
	ShapeRectangle = "rectangle"
	ShapeSquare    = "square"
)

Common values for shape attribute

View Source
const (
	StyleSolid   = "solid"
	StyleDashed  = "dashed"
	StyleDotted  = "dotted"
	StyleBold    = "bold"
	StyleRounded = "rounded"
	StyleFilled  = "filled"
	StyleStriped = "striped"
)

Common values for style attribute

Variables

This section is empty.

Functions

func DotGraphToAsciiArt

func DotGraphToAsciiArt(t string) (string, error)

func NodeName

func NodeName(id int) string

func ShowDotGraphToAsciiArt

func ShowDotGraphToAsciiArt(t string) (string, error)

Types

type Graph

type Graph struct {
	// contains filtered or unexported fields
}

Graph represents a set of nodes, edges and attributes that can be translated to DOT language.

func New

func New() *Graph

func (*Graph) AddDashEdge

func (g *Graph) AddDashEdge(from, to int, label string) int

AddDashEdge adds a new edge between the given nodes with the specified label and returns an id for the new edge. style

func (*Graph) AddDashEdgeWithoutArrowHead

func (g *Graph) AddDashEdgeWithoutArrowHead(from, to int, label string) int

AddDashEdge adds a new edge between the given nodes with the specified label and returns an id for the new edge. style

func (*Graph) AddEdge

func (g *Graph) AddEdge(from, to int, label string) int

AddEdge adds a new edge between the given nodes with the specified label and returns an id for the new edge.

func (*Graph) AddEdgeByLabel

func (g *Graph) AddEdgeByLabel(from, to string, label ...string) int

AddEdgeByLabel adds a new edge between the nodes with the given

func (*Graph) AddEdgeInRoot

func (g *Graph) AddEdgeInRoot(from, to string)

func (*Graph) AddEdgeWithSubGraph

func (g *Graph) AddEdgeWithSubGraph(from, to string, subGraph string)

func (*Graph) AddNode

func (g *Graph) AddNode(label string) int

AddNode adds a new node with the given label and returns its id.

func (*Graph) CreateSubGraph

func (g *Graph) CreateSubGraph(label string) *Graph

func (*Graph) DefaultEdgeAttribute

func (g *Graph) DefaultEdgeAttribute(name, value string)

DefaultEdgeAttribute sets an attribute for all edges by default.

func (*Graph) DefaultNodeAttribute

func (g *Graph) DefaultNodeAttribute(name, value string)

DefaultNodeAttribute sets an attribute for all nodes by default.

func (*Graph) DrawMultipleEdges

func (g *Graph) DrawMultipleEdges()

DrawMultipleEdges causes multiple edges between same pair of nodes to be drawn separately. By default, for a given pair of nodes, only the edge that was last added to the graph is drawn.

func (*Graph) EdgeAttribute

func (g *Graph) EdgeAttribute(id int, name, value string)

EdgeAttribute sets an attribute for the specified edge.

func (*Graph) GenerateDOT

func (g *Graph) GenerateDOT(w io.Writer)

func (*Graph) GetEdges

func (g *Graph) GetEdges(from, to int) []int

GetEdges returns the ids of the edges between the given nodes.

func (*Graph) GetOrCreateNode

func (g *Graph) GetOrCreateNode(label string) int

GetOrCreateNode returns the id of the node with the given label if it

func (*Graph) GetOrCreateNodeWithSubGraph

func (g *Graph) GetOrCreateNodeWithSubGraph(node string, subGraph string) int

func (*Graph) GetOrCreateSubGraph

func (g *Graph) GetOrCreateSubGraph(label string) *Graph

func (*Graph) GraphAttribute

func (g *Graph) GraphAttribute(name, value string)

GraphAttribute sets an attribute for the graph

func (*Graph) IsSubGraph

func (g *Graph) IsSubGraph() bool

func (*Graph) MakeDirected

func (g *Graph) MakeDirected()

MakeDirected makes the graph a directed graph. By default, a new graph is undirected

func (*Graph) MakeSameRank

func (g *Graph) MakeSameRank(node1, node2 int, others ...int)

MakeSameRank causes the specified nodes to be drawn on the same rank. Only effective when using the dot tool.

func (*Graph) NodeAttribute

func (g *Graph) NodeAttribute(id int, name, value string)

NodeAttribute sets an attribute for the specified node.

func (*Graph) NodeExisted

func (g *Graph) NodeExisted(label string) (int, bool)

NodeExisted returns the id of the node with the given label if it

func (*Graph) Root

func (g *Graph) Root() *Graph

func (*Graph) SetTitle

func (g *Graph) SetTitle(title string)

SetTitle sets a title for the graph.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL