dot

package
v1.3.0-sp3 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2024 License: AGPL-3.0 Imports: 7 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 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) 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) AddNode

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

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

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)

GenerateDOT generates the graph description in DOT language

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) GraphAttribute

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

GraphAttribute sets an attribute for the graph

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) 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