Graphviz was born from AT&T's Bell Labs as an open source (EPL licensed), cross-platform scripted automated drawing software tool. Graphviz uses a DSL language called dot language to write a Script File script file, and then uses the Layout layout engine to parse this Script File script file to complete automated layout rendering.

The operating environment of this tutorial: Windows 7 system, Dell G3 computer.
Graphviz (Graph Visualization)is an open source(EPL authorized ),Cross-platformscripted automated drawing software tool.GraphvizUse a
language calleddotlanguage to writeScript File script file, and then useLayout layout engineto parse thisScript File script fileto completeautomated layout rendering.##AT&Tis one of the three major telecom operators in the United States. Now the telecom operator industry in the United States has been forcibly broken up since the original
After the merger, a competitive situation was formed. The predecessor ofor.gv
AT&TisBell Telephone Company,
Bell Telephone Companyis the company that invented the telephone.In the world of IT software,Bell Labscreated a series of great inventions such asUnixand
C language.GraphvizScript files generally have the file extension
.dot, becauseMicrosoft Office WordThe extension of the template file is also.dot. To avoid conflicts, it is generally recommended that the extension ofGraphvizscript files be saved as.gv.Note: In Graphviz, the worddot
's
GraphvizScript script
- 's language name/grammar name
One of the's
#Graphviz- One of them
Layout
The name is also one ofCLICommand nameGraphvizScript File (script file)
Common extensionsWhy use Graphviz?
GraphvizAutomatic typesetting is With "minimized line crossing",Graphviz's automatic layout is better than "What You See Is What You Get" drawing software (such as:Omnigraffle,Microsoft Office Visio, etc. )Text file management is more convenient:
VCSOther automated drawing tools The basis of:
PlantUML, etc.), and is also the basis of manyData Visualization data visualizationtools, somewhat similar The role ofMatplotlibinPythonThe basic structure and usage process of Graphviz
.Script script filemainly includes two parts:Elements entityand
.Elements entitymainly includes three types:Graph,
, andEdge connection.Remarks: If you need to callGraphvizin the software,
also providesIt is also very simple and convenient to use. The general process is as follows:C/CPP,
Graphviz##APIof #Java,Python,phpand other languages.The basic structure of Graphviz

General usage process of Graphviz A version of the MacOS X GUI developed by . or in other embeddedGraphviz The above is the detailed content of What is Graphviz. For more information, please follow other related articles on the PHP Chinese website! MacOS standalone client for Graphviz
Glen Low prior toMacOS 10.6In 2004, he won two Apple Design Awards ("Best Product New to Mac OS X Runner-Up"and"Best OS X Open Source Product 2004 Winner"). ##MacOS Update: ThisGraphviz GUI versioncannot run in today's macOS based onIntel CPU. .MacOS 10.2 and 10.3 are based onPowerPC CPU, and 10.4 released in 2005 began to be based on bothIntel CPUandPowerPC CPU
PowerPC CPU
CLI
Currently there is no independentGUI client that supportsMacOS X 10.6and later,tools (for example: usingmarkdown-preview-enhancedin theATOMeditorGraphviz Script Filecan be embedded in the plug-in).The script source code illustrated in this articleThe dot script source code of Grpahviz’s basic structuredigraph gv_basic_structure{ label=<Graphviz基本组成结构>; labelloc=t; bgcolor=transparent; node[shape=box]; //edge[style=bold]; graphviz[label="Graphviz"]; subgraph{ layout[label="Layouts"]; script[label="Script Files"]; api[label="APIs"] rank=same; } graphviz -> layout; graphviz -> script; graphviz -> api; script -> subgraph{ element[label="Elements"]; attribute[label="Attributes"]; rank=same; } layout -> subgraph{ layout_etc[label="......"]; layout_dot[label="dot"]; layout_neato[label="neato"]; } element -> subgraph{ ele_graph[label="Graph"]; ele_node[label="Node"]; ele_edge[label="Edge"]; } }
GraphvizPlantUML source code using general process
For more programming-related knowledge, please visit:
@startuml start :定义Graph属性; :定义Node、Edge默认属性; :添加Node和Edge; :定义特定Node、Edge的个性属性; :使用CLI或GUI布局引擎工具渲染绘制; end @enduml
Programming Teaching! !