Graphviz (short for ''Graph Visualization Software'') is a package of
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
tools initiated by
AT&T Labs Research
AT&T Labs is the research & development division of AT&T, the telecommunications company. It employs some 1,800 people in various locations, including: Bedminster NJ; Middletown, NJ; Manhattan, NY; Warrenville, IL; Austin, TX; Dallas, TX; Atla ...
for
drawing
Drawing is a form of visual art in which an artist uses instruments to mark paper or other two-dimensional surface. Drawing instruments include graphite pencils, pen and ink, various kinds of paints, inked brushes, colored pencils, crayons, ...
graphs
Graph may refer to:
Mathematics
*Graph (discrete mathematics), a structure made of vertices and edges
**Graph theory, the study of such graphs and their properties
*Graph (topology), a topological space resembling a graph in the sense of discre ...
specified in
DOT language
DOT is a graph description language. DOT graphs are typically files with the filename extension ''gv'' or ''dot''. The extension ''gv'' is preferred, to avoid confusion with the extension ''dot'' used by versions of Microsoft Word before 2007.
...
scripts having the
file name extension "gv". It also provides libraries for software applications to use the tools. Graphviz is
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
licensed under the
Eclipse Public License
The Eclipse Public License (EPL) is a free and open source software license most notably used for the Eclipse IDE and other projects by the Eclipse Foundation. It replaces the Common Public License (CPL) and removes certain terms relating to ...
.
Tools
; dot : a
command-line
A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
tool to produce
layered graph drawings in a variety of output formats, such as (
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
,
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
,
SVG, annotated text and so on).
; neato : useful for undirected graphs. "spring model" layout, minimizes global energy. Useful for graphs up to about 1000 nodes
; fdp :
force-directed graph drawing
Force-directed graph drawing algorithms are a class of algorithms for drawing graphs in an aesthetically-pleasing way. Their purpose is to position the nodes of a graph in two-dimensional or three-dimensional space so that all the edges are of m ...
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 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
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
to visualize and edit graphs.
; lefty : a programmable (in a language inspired b
EZ 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
Model–view–controller (MVC) is a software architectural pattern commonly used for developing user interfaces that divide the related program logic into three interconnected elements. This is done to separate internal representations of infor ...
GUI application that uses graphs.
; gml2gv - gv2gml: convert to/from
GML, another graph file format.
; graphml2g: convert a
GraphML
GraphML is an XML-based file format for graphs. The GraphML file format results from the joint effort of the graph drawing community to define a common format for exchanging graph structure data. It uses an XML-based syntax and supports the enti ...
file to the DOT format.
; gxl2gv - gv2gxl: convert to/from
GXL, another graph file format.
Applications that use Graphviz
Notable applications of Graphviz include:
*
ArgoUML
ArgoUML is an UML diagramming application written in Java and released under the open source Eclipse Public License. By virtue of being a Java application, it is available on any platform supported by Java SE.
History
ArgoUML was originally deve ...
's alternative UML Diagram rendering called argouml-graphviz.
*
AsciiDoc
AsciiDoc is a human-readable document format, semantically equivalent to DocBook XML, but using plain-text mark-up conventions. AsciiDoc documents can be created using any text editor and read “as-is”, or rendered to HTML or any other for ...
can embed Graphviz syntax as a diagram.
*
Bison
Bison are large bovines in the genus ''Bison'' (Greek: "wild ox" (bison)) within the tribe Bovini. Two extant and numerous extinct species are recognised.
Of the two surviving species, the American bison, ''B. bison'', found only in North Ame ...
is able to output the grammar as dot for visualization of the language.
*
ConnectedText
ConnectedText (also abbreviated as CT) is a personal wiki which runs on Windows. Articles are written in plain text in CT's own markup language. When viewing articles they are styled by a standard HTML CSS file. The markup language contains man ...
has a Graphviz plugin.
*
Doxygen
Doxygen ( ) is a documentation generator and static analysis tool for software source trees. When used as a documentation generator, Doxygen extracts information from specially-formatted comments within the code. When used for analysis, Doxygen ...
uses Graphviz to generate diagrams, including class hierarchies and collaboration for
source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
.
*
FreeCAD
FreeCAD is a general-purpose parametric 3D computer-aided design (CAD) modeler and a building information modeling (BIM) software application with finite element method (FEM) support. It is intended for mechanical engineering product design bu ...
uses Graphviz to display the dependencies between objects in documents.
*
Gephi
Gephi ( ) is an open-source network analysis and visualization software package written in Java on the NetBeans platform.
History
Initially developed by students of the University of Technology of Compiègne (UTC) in France, Gephi has been select ...
has a Graphviz plugin.
*
Gramps
Gramps (formerly GRAMPS, an acronym for Genealogical Research and Analysis Management Programming System) is a free and open source genealogy software. Gramps is programmed in Python using PyGObject. It uses Graphviz to create relationship grap ...
uses Graphviz to create genealogical (family tree) diagrams.
*
Graph-tool
graph-tool is a Python module for manipulation and statistical analysis of graphs (AKA networks). The core data structures and algorithms of graph-tool are implemented in C++, making extensive use of metaprogramming, based heavily on the Boos ...
a Python library for graph manipulation and visualization.
*
OmniGraffle
OmniGraffle is a diagramming and digital illustration application for macOS and iOS created by The Omni Group.
Uses
OmniGraffle is used to create graphics and visuals. The application features several design tools, along with a drag-and-dr ...
version 5 and later uses the Graphviz engine, with a limited set of commands, for automatically laying out graphs.
*
Org-mode
Org Mode (also: ''org-mode''; ) is a document editing, formatting, and organizing mode, designed for notes, planning, and authoring within the free software text editor Emacs. The name is used to encompass plain text files ("org files") that incl ...
can work with DOT source code blocks.
*
PlantUML
PlantUML is an open-source tool allowing users to create diagrams from a plain text language. Besides various UML diagrams, PlantUML has support for various other software development related formats (such as Archimate, Block diagram, BPMN, C4, ...
uses Graphviz to generate UML diagrams from text descriptions.
*
Puppet
A puppet is an object, often resembling a human, animal or Legendary creature, mythical figure, that is animated or manipulated by a person called a puppeteer. The puppeteer uses movements of their hands, arms, or control devices such as rods ...
can produce DOT resource graphs that can be viewed with Graphviz.
*
Scribus
Scribus () is free and open-source desktop publishing (DTP) software available for most desktop operating systems. It is designed for layout, typesetting, and preparation of files for professional-quality image-setting equipment. Scribus can a ...
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.
*
Sphinx
A sphinx ( , grc, σφίγξ , Boeotian: , plural sphinxes or sphinges) is a mythical creature with the head of a human, the body of a lion, and the wings of a falcon.
In Greek tradition, the sphinx has the head of a woman, the haunches of ...
is a documentation generator that can use Graphviz to embed graphs in documents.
*
TOra
Tora or TORA may refer to:
People
* Tora (given name), female given name
* Tora (surname)
* Tora people of Arabia and northern Africa
* Torá language, an extinct language once spoken in Brazil
Places
* Tora, Benin, in Borgou Department
* Tora, ...
a free software database development and administration GUI, available under the GNU GPL.
*
Trac
Trac is an open-source software, open-source, web-based Project management software, project management and bug tracking system. It has been adopted by a variety of organizations for use as a bug tracking system for both free and open-source s ...
wiki has a Graphviz plugin.
*
Zim includes a plugin that allows adding and editing in-page diagrams using the Graphviz dot language.
See also
*
Graph drawing
Graph drawing is an area of mathematics and computer science combining methods from geometric graph theory and information visualization to derive two-dimensional depictions of graph (discrete mathematics), graphs arising from applications such a ...
*
Graph theory
In mathematics, graph theory is the study of ''graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of '' vertices'' (also called ''nodes'' or ''points'') which are conne ...
*
Microsoft Automatic Graph Layout
Microsoft Automatic Graph Layout (MSAGL) is a .NET library for automatic graph layout.
It was created by Lev Nachmanson at Microsoft Research.
Earlier versions carried the name ''GLEE'' (Graph Layout Execution Engine).
Contents
The MSAGL so ...
References
External links
*
graphvizon
GitLab
GitLab Inc. is an open-core company that operates GitLab, a DevOps software package which can develop, secure, and operate software. The open source software project was created by Ukrainian developer Dmitriy Zaporozhets and Dutch developer S ...
Graphviz Projects & Software Page, AT&T Labs Research
Create relationship diagrams with Graphviz (Shashank Sharma, 2005)
{{Graph Analysis Software
Free diagramming software
Free software programmed in C
Graph drawing software
Software that uses Tk (software)
Software using the Eclipse license