graphviz

{{Short description|Software package for graph visualization}}

{{Infobox software

| name =

| title = Graphviz

| logo = GraphvizLogo.png

| logo caption =

| logo_size = 128px

| logo_alt =

| screenshot =

| caption =

| screenshot_size =

| screenshot_alt =

| collapsible =

| author =

| developer = AT&T Labs Research and contributors{{cite web |url=https://graphviz.org/credits/ |title=Credits Graphviz}}

| released = before {{Start date and age|1991}}Eleftherios Koutsofios and Stephen North. Drawing graphs with dot. Technical Report 910904-59113-08TM, AT&T Bell Laboratories, Murray Hill, New Jersey, September 1991.

| discontinued =

| latest release version = {{wikidata|property|reference|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}

| latest preview version =

| latest preview date =

| repo = {{URL|https://gitlab.com/graphviz/graphviz}}

| programming language = C

| operating system = Linux, macOS, Windows

| platform =

| size =

| language =

| language count =

| language footnote =

| genre = Graph visualization

| license = Eclipse Public License

| website = {{URL|https://graphviz.org}}

}}

File:Red_black_tree_graphviz_example.svg plotted by Graphviz]]

File:UnitedStatesGraphViz.svg]]

File:Wikipedia HistoryHelper Pluging Life Cycle.svg life cycle made by using Graphviz]]

Graphviz (short for Graph Visualization Software) is a package of open-source tools initiated by AT&T Labs Research for drawing graphs (as in nodes and edges, not as in bar charts) specified in DOT language scripts having the file name extension "gv". It also provides libraries for software applications to use the tools. Graphviz is free software licensed under the Eclipse Public License.

Tools

; dot : a command-line tool to produce layered graph drawings in a variety of output formats, such as (PostScript, PDF, SVG, annotated text and so on).

; neato : useful for undirected graphs up to about 1000 nodes. "Spring model" layout minimizes global energy.

; fdp : force-directed graph drawing similar to "spring model", but minimizes forces instead of energy. Useful for undirected graphs.

; sfdp : multiscale version of fdp for the layout of large undirected graphs.

; twopi : for radial graph layouts. Nodes are placed on concentric circles depending on their distance from a given root node.

; circo : circular layout. Suitable for certain diagrams of multiple cyclic structures, such as certain telecommunications networks.

; dotty : a graphical user interface to visualize and edit graphs.

; lefty : a programmable (in a language inspired by [http://portal.acm.org/citation.cfm?id=318642 EZ][http://graphviz.org/pdf/leftyguide.pdf The Lefty guide (“Editing Pictures with lefty”)], section 3.1, p. 9.) widget that displays DOT graphs and allows the user to perform actions on them with the mouse. Therefore, Lefty can be used as the view in a model–view–controller GUI application that uses graphs.

; gml2gv, gv2gml: convert to/from GML, another graph file format.

; graphml2gv: convert a GraphML file to the DOT format.

; gxl2gv, gv2gxl: convert to/from GXL, another graph file format.

Applications that use Graphviz

{{refimprove section|date=March 2013}}

Notable applications of Graphviz include:

  • ArgoUML's alternative UML diagram rendering called argouml-graphviz.{{cite web |title=argouml-graphviz.tigris.org |url=http://argouml-graphviz.tigris.org/ |website=argouml-graphviz.tigris.org |access-date=15 January 2018 |archive-date=17 March 2012 |archive-url=https://web.archive.org/web/20120317061219/http://argouml-graphviz.tigris.org/ |url-status=dead}}
  • AsciiDoc can embed Graphviz syntax as a diagram.
  • Bison is able to output the grammar as dot for visualization of the language.{{cite book |last1=Naumann |first1=Uwe |title=The Art of Differentiating Computer Programs: An Introduction to Algorithmic Differentiation |date=2012 |publisher=SIAM |isbn=9781611972078 |page=181 |url=https://books.google.com/books?id=OgQuUR4nLu0C&q=bison+graphviz&pg=PA181 |access-date=15 January 2018 |language=en}}
  • Confluence has a Graphviz plugin to render diagrams from text descriptions.
  • ConnectedText has a Graphviz plugin.
  • Doxygen uses Graphviz to generate diagrams, including class hierarchies, collaboration and call trees for source code.{{cite book |last1=Anderson |first1=Fritz |title=Xcode 5 Start to Finish: iOS and OS X Development |date=2014 |publisher=Addison-Wesley Professional |isbn=9780133751024 |page=425 |url=https://books.google.com/books?id=Po-AAwAAQBAJ&q=doxygen+graphviz&pg=PA425 |access-date=15 January 2018 |language=en}}
  • FreeCAD uses Graphviz to display the dependencies between objects in documents.{{cite web |url=https://www.freecadweb.org/wiki/Std_DependencyGraph |title=Std DependencyGraph |author= |website=FreeCAD web |access-date=18 July 2018 }}
  • Gephi has a Graphviz plugin.
  • Gramps uses Graphviz to create genealogical (family tree) diagrams.
  • Graph-tool a Python library for graph manipulation and visualization.
  • OmniGraffle version 5 and later uses the Graphviz engine, with a limited set of commands, for automatically laying out graphs.{{Cite web |url=https://support.omnigroup.com/documentation/omnigraffle/mac/7.6/en/opening-and-importing-files-in-omnigraffle/#supported-dot-syntax |title = OmniGraffle 7.6 Reference Manual for macOS – Opening and Importing Files in OmniGraffle}}
  • Org-mode can work with DOT source code blocks.{{cite web |last1=Voit |first1=Karl |title=Org tutorial on generating simple process diagrams using dot and tables |url=https://orgmode.org/worg/org-tutorials/org-dot-diagrams.html |website=orgmode.org |access-date=15 January 2018 |language=en}}
  • PlantUML uses Graphviz to generate UML diagrams from text descriptions.
  • Puppet can produce DOT resource graphs that 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.{{cite book |last1=Gemy |first1=Cedric |title=Scribus 1.3.5 Beginner's Guide |date=2010 |publisher=Packt Publishing Ltd |isbn=9781849513012 |url=https://books.google.com/books?id=xTnlrad5q5EC&q=scribus+graphviz&pg=PT309 |access-date=15 January 2018 |language=en}}
  • Sphinx is a documentation generator that can use Graphviz to embed graphs in documents.
  • Terraform an infrastructure-as-code tool from Hashicorp allows output of an execution plan as a DOT resource graph
  • TOra a free-software database development and administration GUI, available under the GNU GPL.
  • Trac wiki has a Graphviz plugin.{{cite web |title=GraphvizPlugin |url=https://trac-hacks.org/wiki/GraphvizPlugin |website=trac-hacks.org |access-date=15 January 2018}}
  • Zim includes a plugin that allows adding and editing in-page diagrams using the Graphviz dot language.{{cite web |title=Zim – a desktop wiki: Diagram Editor |url=http://zim-wiki.org/manual/Plugins/Diagram_Editor.html |website=zim-wiki.org |access-date=15 January 2018}}

See also

{{Portal|Free and open-source software}}

References

{{Reflist}}