Addons/graphics/graphviz

From J Wiki
Jump to navigation Jump to search
User Guide | Installation | Development | Categories | Git | Build Log

graphics/graphviz  - Graph Visualization

Integrated with J, a popular graph drawing visualization library. Includes user interface Graph View and a utility to visualize sequential machines (finite automata) in testsm folder.
See doc folder and help.html in installation for furter details.
See also companion cluster analysis Addons/stats/dendrite
Based on Graphviz from http://www.graphviz.org/


Installation

  • Install using Package Manager to install ~addons/graphics/graphviz.
  • On Windows, install the full installation of Qt, if not already installed:
 Run jconsole then: 
install'full'
  • Windows - Running graphview will perform a one-time load of the graphviz distribution.
  • Linux - Install graphviz software:
  • Centos 7 - sudo yum install graphviz.x86-64 # architecture dependant
  • sudo yum install graphviz-graphs.x86-64
  • Ubuntu 18.04.01 - suto apt install graphviz
  • Darwin - brew install graphviz

Current distribution is for J804* and above and Windows*, Linux and Darwin*.

Graph View

First-time use:
   load 'graphics/graphviz'

Subsequent calls:

graphview ''                                         NB. show empty view
graphview 'digraph G { a->b }',LF                    NB. show from graph def
graphview '~addons/graphics/graphviz/testsm/cut.dot' NB. show graph file

User interface: simple and intuitive.

Use menu and help and links for further assistance.

All output uses Qd webview as the display engine.

Examples: For Windows, open ~addons/graphics/graphviz/graphs folder for numerous examples.
For Ubuntu: /usr/share/doc/graphviz/examples/graphs For Centos: /usr/share/graphviz/graphs

Sequential Machine View

Sequential machine definition graph visualizer. See legend image.
Load:
   require 'graphics/graphviz/smgraph'

Use, where optional states and inputs are lists of labels, s is state table and r is initial state number:
   [states;inputs] smview s[;r]

Example (Full Size) of dyad ;: "Words" using JSvnAddons:graphics/graphviz/testsm/jdic.ijs

Sm jdic s.png

See ~addons/graphics/graphviz/testsm/*.ijs for examples.

Extensibility

Using ~addons/graphics/graphviz/smgraph.ijs as a model, it is possible to create custom graph visualizers for various applications.

Copyright

Portions of this program use GraphViz* -- open source graph drawing software.
(C) Copyright AT&T*. http://www.graphviz.org/
See lisence in the installation.

  • Other copyrights and trademarks of respective holders.

Authors