disgram as code
Why diagram with code?
- Simple
- Version Control
- Efficiency
Graphviz
dot language
- Simple code generates diagrams
digraph G { main -> parse -> execute; main -> init; main -> cleanup; execute -> make_string; execute -> printf; init -> make_string; main -> printf; execute -> compare; }
安装
Mac下可通过brew install graphviz
安装。
- 命令行工具
$ dot -Tsvg input.dot
// If no input files are supplied, the program reads from stdin. For example:
$ echo 'digraph { a -> b }' | dot -Tsvg > output.svg
Core concepts
Graphs/Subgraphs
- digraph 有向图
- graph 无向图
- subgraph 子图
- cluster 名字以cluster开头的特殊子图
Nodes
Three main types:
- Shapes
- Record-based
- User defined
Edges
- Connect objects
- Parts:
- Head
- Tail
- Label
- Shape
Attributes
Apply to graphs, nodes, edges
diagrams
(using python)
- 通过
pip install diagrams
安装
go-diagrams
(using golang)
other tools
- websequencediagrams 时序图
title User Login actor user user->App: login with username/password App->Server: Authentication Request Server->Database: query user by username & password note right of Server: authntication logic Database->Server: user data Server->App: Authentication Response App->user: result
- js-sequence-diagrams
- A simple javascript library to turn text into vector UML sequence diagrams.
- Heavily inspired by websequencediagrams.com, who offer a serverside solution.
- use Jison to parse the text, and Snap.svg to draw the image.
- VSCode Sequence diagrams
- draw.io
- web版
- vscode插件
- Create diagrams directly in VS Code
- 免费且开源:http://draw.io是一款免费的在线绘图工具,可供个人用户和团队免费使用。它还是开源软件,用户可以根据需要自定义和扩展其功能。
- 跨平台支持:http://draw.io可以在各种操作系统上使用,包括Windows、Mac和Linux。无论您使用哪种操作系统,都可以方便地访问和使用http://draw.io。
- 多种导入和导出格式:http://draw.io支持多种文件格式的导入和导出,如XML、PDF、PNG、JPEG等。这使得您可以轻松地与其他流程图工具和文件进行兼容性交互。
- 离线使用:虽然http://draw.io是基于云的工具,但它也支持离线使用。您可以将http://draw.io应用程序下载到本地计算机,即使没有互联网连接,也可以继续创建和编辑流程图。
- 多种图表类型支持:除了流程图,http://draw.io还支持其他类型的图表,如组织结构图、网络图、UML图等。这使得http://draw.io成为一个多功能的图表绘制工具。
- processon
- ProcessOn是一个在线作图工具的聚合平台,它可以在线画流程图、思维导图、UI原型图、UML、网络拓扑图、组织结构图等等,您无需担心下载和更新的问题,不管Mac还是Windows,一个浏览器就可以随时随地的发挥创意,规划工作;