Jump to content

Graphviz

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Wickorama (talk | contribs) at 00:35, 4 September 2018 (External links: Category:Software using the Eclipse license). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Graphviz
Developer(s)AT&T Labs Research and contributors[1]
Initial releasebefore 1991; 33 years ago (1991)[2]
Stable release
2.40.1 / 25 December 2016; 7 years ago (2016-12-25)[3]
Repositoryhttps://gitlab.com/graphviz/graphviz
Written inC
Operating systemLinux, macOS, Windows
TypeGraph visualization
LicenseEclipse Public License
Websitegraphviz.org
A Red-Black Tree plotted by Graphviz.
Undirected graph showing adjacency of the 48 contiguous United States

Graphviz (short for Graph Visualization Software) is a package of open-source tools initiated by AT&T Labs Research for drawing graphs specified in DOT language scripts. It also provides libraries for software applications to use the tools. Graphviz is free software licensed under the Eclipse Public License.

Software architecture

Graphviz consists of a graph description language named the DOT language[4] and a set of tools that can generate and/or process DOT files:

dot
a command-line tool to produce layered drawings of directed graphs in a variety of output formats (PostScript, PDF, SVG, annotated text and so on).
neato
for "spring model" layout (in Mac OS version called "energy minimised")
sfdp
a layout engine for undirected graphs that scales to very large graphs.
fdp
another layout engine for undirected graphs.
twopi
for radial graph layouts.
circo
for circular graph layouts.
dotty
a graphical user interface to visualize and edit graphs.
lefty
a programmable (in a language inspired by EZ[5]) widget that displays DOT graphs and allows the user to perform actions on them with the mouse. Lefty can therefore be used as the view in a model-view-controller GUI application that uses graphs.

Applications that use Graphviz

  • ArgoUML's alternative UML Diagram rendering called argouml-graphviz.[6]
  • AsciiDoc can embed Graphviz syntax as a diagram.
  • Bison is able to output the grammar as dot for visualization of the language.[7]
  • ConnectedText has a Graphviz plugin.
  • Doxygen uses Graphviz to generate diagrams including class hierarchies and collaboration for source code.[8]
  • FreeCAD uses Graphviz to display the dependencies between objects in documents.[9]
  • Gephi has a Graphviz plugin.
  • Gramps uses Graphviz to create family trees.
  • Omnigraffle Version 5 and above uses the Graphviz engine (with a limited set of commands) for automatically laying out graphs.[10]
  • Org-mode can work with DOT source code blocks[11]
  • PlantUML uses Graphviz to generate UML diagrams from text descriptions.
  • Puppet can produce DOT resource graphs which can be viewed with Graphviz.
  • Scribus is an Open Source DTP program that can use Graphviz to render graphs by using its internal editor in a special frame type called render frame.[12]
  • Sphinx is a documentation generator that can use Graphviz to embed graphs in documents.
  • TOra a free software database development and administration GUI, available under the GNU GPL.
  • Trac wiki has a Graphviz plugin.[13]
  • Visitors is a (no longer maintained) web analyzer also generating Graphviz files to visualize access paths
  • WikidPad uses Graphviz as a plugin.
  • Zim includes a plugin that allows adding and editing in-page diagrams using the Graphviz dot language.[14]

See also

References

  1. ^ "Credits Graphviz".
  2. ^ Eleftherios Koutsofios and Stephen North. Drawing graphs with dot. Technical Report 910904-59113-08TM, AT&T Bell Laboratories, Murray Hill, NJ, September 1991.
  3. ^ "Tags - graphviz / graphviz". Retrieved 23 August 2018 – via GitLab.
  4. ^ The DOT Language
  5. ^ The Lefty guide (“Editing Pictures with lefty”), section 3.1, p. 9.
  6. ^ "argouml-graphviz.tigris.org". argouml-graphviz.tigris.org. Retrieved 15 January 2018.
  7. ^ Naumann, Uwe (2012). The Art of Differentiating Computer Programs: An Introduction to Algorithmic Differentiation. SIAM. p. 181. ISBN 9781611972078. Retrieved 15 January 2018.
  8. ^ Anderson, Fritz (2014). Xcode 5 Start to Finish: iOS and OS X Development. Addison-Wesley Professional. p. 425. ISBN 9780133751024. Retrieved 15 January 2018.
  9. ^ "Std DependencyGraph". FreeCAD web. Retrieved 18 July 2018.
  10. ^ https://support.omnigroup.com/documentation/omnigraffle/mac/7.6/en/opening-and-importing-files-in-omnigraffle/#supported-dot-syntax
  11. ^ Voit, Karl. "Org tutorial on generating simple process diagrams using dot and tables". orgmode.org. Retrieved 15 January 2018.
  12. ^ Gemy, Cedric (2010). Scribus 1.3.5 Beginner's Guide. Packt Publishing Ltd. ISBN 9781849513012. Retrieved 15 January 2018.
  13. ^ "GraphvizPlugin – Trac Hacks - Plugins Macros etc". trac-hacks.org. Retrieved 15 January 2018.
  14. ^ "Zim - a desktop wiki: Diagram Editor". zim-wiki.org. Retrieved 15 January 2018.