Graphviz
Encyclopedia
Graphviz is a package of open-source tools initiated by AT&T Labs Research
AT&T Labs
AT&T Labs, Inc. is the research & development division of AT&T, where scientists and engineers work to understand and advance innovative technologies relevant to networking, communications, and information. Over 1800 employees work in six locations: Florham Park, NJ; Middletown, NJ; Austin, TX;...

 for drawing
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 graphs arising from applications such as social network analysis, cartography, and bioinformatics...

 graphs
Graph theory
In mathematics and computer science, graph theory is the study of graphs, mathematical structures used to model pairwise relations between objects from a certain collection. A "graph" in this context refers to a collection of vertices or 'nodes' and a collection of edges that connect pairs of...

 specified in DOT language
DOT language
DOT is a plain text graph description language. It is a simple way of describing graphs that both humans and computer programs can use. DOT graphs are typically files that end with the .gv extension. The .gv extension is preferred, as .dot also is used by Microsoft Office 2003.Various programs...

 scripts. It also provides libraries for software applications to use the tools. Graphviz is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 licensed under the Eclipse Public License
Eclipse Public License
The Eclipse Public License is an open source software license used by the Eclipse Foundation for its software. It replaces the Common Public License and removes certain terms relating to litigations related to patents....

.

Architecture

Graphviz consists of a graph description language named the DOT language
DOT language
DOT is a plain text graph description language. It is a simple way of describing graphs that both humans and computer programs can use. DOT graphs are typically files that end with the .gv extension. The .gv extension is preferred, as .dot also is used by Microsoft Office 2003.Various programs...

 and a set of tools that can generate and/or process DOT files:

dot : a command-line tool to produce layered drawings
Layered graph drawing
Layered graph drawing is a type of graph drawing in which the vertices of a directed graph are drawn in horizontal rows or layers with the edges generally directed downwards...

 of directed graph
Directed graph
A directed graph or digraph is a pair G= of:* a set V, whose elements are called vertices or nodes,...

s in a variety of output formats (PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...

, PDF
Portable Document Format
Portable Document Format is an open standard for document exchange. This file format, created by Adobe Systems in 1993, is used for representing documents in a manner independent of application software, hardware, and operating systems....

, SVG
Scalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...

, annotated text and so on).
neato : for "spring model" layout (in Mac OS version called "energy minimised")
twopi : for radial graph layouts.
circo : for circular graph layouts.
fdp : another layout engine for undirected graphs.
dotty : a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 to visualize and edit graphs.
lefty : a programmable (in a language inspired by EZ) 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
Model-view-controller
Model–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...

 GUI application that uses graphs.

Applications

  • AsciiDoc
    AsciiDoc
    AsciiDoc is a lightweight markup language. It requires the installation of a special AsciiDoc "converter program" that can convert AsciiDoc documents to XHTML, DocBook or HTML. DocBook in turn can be converted to other formats such as PDF, TeX, Unix manpages and many more using the tool A2X which...

     can embed Graphviz syntax as a diagram
  • ArgoUML
    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....

    's alternative UML Diagram rendering called argouml-graphviz
  • ConnectedText
    ConnectedText
    ConnectedText is a commercial editing application with wiki-like syntax for Windows. It was designed by Eduardo Mauro. It stores topics in a SQL database, maintaining a complete revision history. It is possible to open several workspaces at the same time...

     has a Graphviz plugin.
  • DokuWiki GraphViz Plugin
  • Doxygen
    Doxygen
    Doxygen is a documentation generator for multiple programming languages.Doxygen is a tool for writing software reference documentation. The documentation is written within code, and is thus relatively easy to keep up to date...

     uses Graphviz to generate diagrams including class hierarchies and collaboration for computer program
    Computer program
    A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...

     source code
    Source code
    In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

    .
  • GRAMPS
    GRAMPS
    The core export file format of Gramps is named Gramps XML and uses the file extension .gramps. It is extended from XML. Gramps XML is a free format. Gramps usually compresses Gramps XML files with gzip. The file format Portable Gramps XML Package uses the extension .gpkg and is currently a .tar.gz...

     uses Graphviz to create family trees
  • GraphViz - MediaWiki Graphviz Extension
  • KGraphViewer/KGraphEditor - KDE graph-viewer and -editor
  • Linguine Maps Java API to Graphviz
  • lisp2dot converts Lisp
    Lisp programming language
    Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...

    -like program trees to DOT language. Designed for use with genetic programming
    Genetic programming
    In artificial intelligence, genetic programming is an evolutionary algorithm-based methodology inspired by biological evolution to find computer programs that perform a user-defined task. It is a specialization of genetic algorithms where each individual is a computer program...

    .
  • MoinMoin wiki Graphviz Extension
  • OmniGraffle 5
    OmniGraffle
    OmniGraffle is a diagramming application made by The Omni Group. OmniGraffle is built only for Mac OS X and the iPad. It may be used to create diagrams, flow charts, org charts, and illustrations. It features a drag-and-drop WYSIWYG interface...

     uses the Graphviz engine for automatically laying out graphs
  • PlantUML
    PlantUML
    PlantUML is an open-source UML tool that allows to generate UML diagrams from a textual description. It is used to draw UML diagrams but is not a modeling tool itself...

     creates UML
    Unified Modeling Language
    Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

     diagrams from textual description
  • Puppet can produce DOT resource graphs which can be viewed with Graphviz
  • QuickGraph can use Graphviz to render the graphs.
  • Scribus
    Scribus
    Scribus is a desktop publishing application, released under the GNU General Public License as free software. It is based on the free Qt toolkit, therefore native versions are available for Linux, Unix-like operating systems, Mac OS X, Microsoft Windows, and OS/2...

     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
    Sphinx (documentation generator)
    Sphinx is a documentation generator which converts reStructuredText files into HTML websites and other formats including PDF, EPub and man. It exploits the extensible nature of reStructuredText through a number of extensions...

     is a documentation generator that can use Graphviz to embed graphs in documents.
  • Trac
    Trac
    Trac is an open source, web-based project management and bug-tracking tool. The program is inspired by CVSTrac, and was originally named svntrac due to its ability to interface with Subversion. It is developed and maintained by Edgewall Software....

     wiki has a Graphviz plugin
  • UMLGraph creates UML
    Unified Modeling Language
    Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

     class and sequence diagrams from declarative specifications
  • WinGraphviz is a older third party native win32 platform build.
  • WikidPad
    WikidPad
    WikidPad is an open source, Python-based wiki-like outliner for storing thoughts, ideas, to-do lists, contacts, and other notes with wiki-like linking between pages....

     uses Graphviz as a plugin

See also

  • Graph (mathematics)
    Graph (mathematics)
    In mathematics, a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected objects are represented by mathematical abstractions called vertices, and the links that connect some pairs of vertices are called edges...

  • Graph drawing
    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 graphs arising from applications such as social network analysis, cartography, and bioinformatics...

  • Graph theory
    Graph theory
    In mathematics and computer science, graph theory is the study of graphs, mathematical structures used to model pairwise relations between objects from a certain collection. A "graph" in this context refers to a collection of vertices or 'nodes' and a collection of edges that connect pairs of...

  • Dot language
    DOT language
    DOT is a plain text graph description language. It is a simple way of describing graphs that both humans and computer programs can use. DOT graphs are typically files that end with the .gv extension. The .gv extension is preferred, as .dot also is used by Microsoft Office 2003.Various programs...


Related software:
  • Microsoft Automatic Graph Layout
    Microsoft Automatic Graph Layout
    Microsoft Automatic Graph Layout is a .NET library for automatic graph layout.It was created by Lev Nachmanson at Microsoft Research.Earlier versions carried the name GLEE .- Contents :...

     - A .NET library for laying out graphs
  • yEd
    YEd
    yEd is a freely available, general-purpose diagramming software with amulti-document interface.It is a cross-platform application written in Java that runs on Windows, Linux, Mac OS, or any platform that supports the JVM....

    Graph Editor - Java-based general-purpose diagram editor

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK