logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

gv_tcl - graph manipulation in tcl

Commands

Newgraphs

       New empty graph
              <graph_handle>gv::graph<name><graph_handle>gv::digraph<name><graph_handle>gv::strictgraph<name><graph_handle>gv::strictdigraph<name>

       New graph from a dot-syntax string or file
              <graph_handle>gv::readstring<string><graph_handle>gv::read<string>filename<graph_handle>gv::read<channel>

       Add new subgraph to existing graph
              <graph_handle>gv::graph<graph_handle><name>Newnodes

       Add new node to existing graph
              <node_handle>gv::node<graph_handle><name>Newedges

       Add new edge between existing nodes
              <edge_handle>gv::edge<tail_node_handle><head_node_handle>

       Add a new edge between an existing tail node, and a named head node which will be induced in the graph if
       it doesn't already exist
              <edge_handle>gv::edge<tail_node_handle><head_name>

       Add a new edge between an existing head node, and a named tail node which will be induced in the graph if
       it doesn't already exist
              <edge_handle>gv::edge<tail_name><head_node_handle>

       Add a new edge between named tail  and head nodes which will be induced in the graph if they don't
       already exist
              <edge_handle>gv::edge<graph_handle><tail_name><head_name>Settingattributevalues

       Set value of named attribute of graph/node/edge - creating attribute if necessary
              <string>gv::setv<graph_handle><attr_name><attr_value><string>gv::setv<node_handle><attr_name><attr_value><string>gv::setv<edge_handle><attr_name><attr_value>

       Set value of existing attribute of graph/node/edge (using attribute handle)
              <string>gv::setv<graph_handle><attr_handle><attr_value><string>gv::setv<node_handle><attr_handle><attr_value><string>gv::setv<edge_handle><attr_handle><attr_value>Gettingattributevalues

       Get value of named attribute of graph/node/edge
              <string>gv::getv<graph_handle><attr_name><string>gv::getv<node_handle><attr_name><string>gv::getv<edge_handle><attr_name>

       Get value of attribute of graph/node/edge (using attribute handle)
              <string>gv::getv<graph_handle><attr_handle><string>gv::getv<node_handle><attr_handle><string>gv::getv<edge_handle><attr_handle>Obtainnamesfromhandles<string>gv::nameof<graph_handle><string>gv::nameof<node_handle><string>gv::nameof<attr_handle>Findhandlesfromnames<graph_handle>gv::findsubg<graph_handle><name><node_handle>gv::findnode<graph_handle><name><edge_handle>gv::findedge<tail_node_handle><head_node_handle><attr_handle>gv::findattr<graph_handle><name><attr_handle>gv::findattr<node_handle><name><attr_handle>gv::findattr<edge_handle><name>Miscgraphnavigatorsreturninghandles<node_handle>gv::headof<edge_handle><node_handle>gv::tailof<edge_handle><graph_handle>gv::graphof<graph_handle><graph_handle>gv::graphof<edge_handle><graph_handle>gv::graphof<node_handle><graph_handle>gv::rootof<graph_handle>Obtainhandlesofprotonode/edgeforsettingdefaultattributevalues<node_handle>gv::protonode<graph_handle><edge_handle>gv::protoedge<graph_handle>Iterators

       Iteration termination tests
              <boolean_string>gv::ok<graph_handle><boolean_string>gv::ok<node_handle><boolean_string>gv::ok<edge_handle><boolean_string>gv::ok<attr_handle>

       Iterate over subgraphs of a graph
              <graph_handle>gv::firstsubg<graph_handle><graph_handle>gv::nextsubg<graph_handle><subgraph_handle>

       Iterate over supergraphs of a graph (obscure and rarely useful)
              <graph_handle>gv::firstsupg<graph_handle><graph_handle>gv::nextsupg<graph_handle><subgraph_handle>

       Iterate over edges of a graph
              <edge_handle>gv::firstedge<graph_handle><edge_handle>gv::nextedge<graph_handle><edge_handle>

       Iterate over outedges of a graph
              <edge_handle>gv::firstout<graph_handle><edge_handle>gv::nextout<graph_handle><edge_handle>

       Iterate over edges of a node
              <edge_handle>gv::firstedge<node_handle><edge_handle>gv::nextedge<node_handle><edge_handle>

       Iterate over out-edges of a node
              <edge_handle>gv::firstout<node_handle><edge_handle>gv::nextout<node_handle><edge_handle>

       Iterate over head nodes reachable from out-edges of a node
              <node_handle>gv::firsthead<node_handle><node_handle>gv::nexthead<node_handle><head_node_handle>

       Iterate over in-edges of a graph
              <edge_handle>gv::firstin<graph_handle><edge_handle>gv::nextin<node_handle><edge_handle>

       Iterate over in-edges of a node
              <edge_handle>gv::firstin<node_handle><edge_handle>gv::nextin<graph_handle><edge_handle>

       Iterate over tail nodes reachable from in-edges of a node
              <node_handle>gv::firsttail<node_handle><node_handle>gv::nexttail<node_handle><tail_node_handle>

       Iterate over nodes of a graph
              <node_handle>gv::firstnode<graph_handle><node_handle>gv::nextnode<graph_handle><node_handle>

       Iterate over nodes of an edge
              <node_handle>gv::firstnode<edge_handle><node_handle>gv::nextnode<edge_handle><node_handle>

       Iterate over attributes of a graph
              <attr_handle>gv::firstattr<graph_handle><attr_handle>gv::nextattr<graph_handle><attr_handle>

       Iterate over attributes of an edge
              <attr_handle>gv::firstattr<edge_handle><attr_handle>gv::nextattr<edge_handle><attr_handle>

       Iterate over attributes of a node
              <attr_handle>gv::firstattr<node_handle><attr_handle>gv::nextattr<node_handle><attr_handle>Removegraphobjects<boolean_string>gv::rm<graph_handle><boolean_string>gv::rm<node_handle><boolean_string>gv::rm<edge_handle>Layout

       Annotate a graph with layout attributes and values using a specific layout engine
              <boolean_string>gv::layout<graph_handle><string>engineRender

       Render a layout into attributes of the graph
              <boolean_string>gv::render<graph_handle>

       Render a layout to stdout
              <boolean_string>gv::render<graph_handle><string>format

       Render to an open file
              <boolean_string>gv::render<graph_handle><string>format<channel>fout

       Render a layout to an unopened file by name
              <boolean_string>gv::render<graph_handle><string>format<string>filename

       Render to a string result
              <string>gv::renderresult<graph_handle>ing<string>formatgv::renderresult<graph_handle><string>format<string>outdata

       Render to an open channel
              <boolean_string>gv::renderchannel<graph_handle><string>format<string>channelname

       Render a layout to a malloc'ed string, to be free'd by the caller

       (deprecated - too easy to leak memory)

       (still needed for "eval [gv::renderdata $G tk]" )
              <string>gv::renderdata<graph_handle><string>format

       Writing graph back to file
              <boolean_string>gv::write<graph_handle><string>filename<boolean_string>gv::write<graph_handle><channel>

       Graph transformation tools
              <boolean_string>gv::tred<graph_handle>

Introduction

gv_tcl  is  a  dynamically  loaded  extension  for  tcl  that  provides access to the graph facilities of
       graphviz.

Keywords

       graph, dot, neato, fdp, circo, twopi, tcl.

                                                   22 May 2025                                          gv(3tcl)

Name

       gv_tcl - graph manipulation in tcl

Synopsis

       #!/usr/bin/tclsh
       package require gv

Usage

       Requires tcl8.3 or later.

See Also