在我们写文档的时候常常需要插入一些图片来辅助说明,文档可以用 git 来管理,换个人很容易修改,但是图片如果没有原图很难修改。这里我们介绍几款代码画图工具,可以很方便的用 git 管理。
plantuml
看名字就知道这个工具是用来画 uml 图的。 plantuml 在国外使用比较广泛,很多 web 工具都支持 plantuml.
plantuml 支持以下几种类型的 uml 图:
- Sequence diagram
- Usecase diagram
- Class diagram
- Activity diagram
- Component diagram
- State diagram
- Object diagram
- Deployment diagram
- Timing diagram
plantuml 也支持几种非 uml 的图,具体如下:
- Wireframe graphical interface
- Archimate diagram
- Specification and Description Language (SDL)
- Ditaa diagram
- Gantt diagram
- Mathematic with AsciiMath or JLaTeXMath notation
使用方法
Sequence diagram
基本用法
1 | @startuml |
声明参与者
1 | @startuml |
添加注释
1 | @startuml |
Usecase diagram
1 | @startuml |
Class diagram
1 | @startuml |
1 | @startuml |
1 | @startuml |
指定关系
1 | @startuml |
属性类型
1 | @startuml |
Activity diagram
1 | @startuml |
State diagram
1 | @startuml |
Object diagram
1 | @startuml |
Deployment diagram
支持类型
1 | @startuml |
1 | @startuml |
Timing diagram
1 | @startuml |
Wireframe graphical interface
1 | @startsalt |
Archimate diagram
1 | @startuml |
Specification and Description Language (SDL)
也是活动图
1 | @startuml |
Ditaa diagram
1 | @startditaa |
Gantt diagram
1 | @startgantt |
Mathematic with AsciiMath or JLaTeXMath notation
1 | @startuml |
python 画图工具
python 也提供了几个画图工具,如果使用 sphinx 编写文档,可以直接把代码嵌套到文档中。
安装
1 | pip install blockdiag |
简单使用
生成图片一般用指定命令接文件名即可:
1 | blockdiag test.diag |
blockdiag
1 | blockdiag { |
blockdiag 可以设置很多属性,例如图片类型,颜色,大小,特效等。
1 | blockdiag { |
1 | blockdiag { |
seqdiag
seqdiag 用来画时序图:
1 | seqdiag { |
1 | seqdiag { |
1 | seqdiag { |
actdiag
actdiag 用来画活动图:
1 | actdiag { |
nwdiag
nwdiag 主要用来画网络连线图,报文结构等。
普通网络图:
1 | nwdiag { |
指定多个 ip:
1 | nwdiag { |
分组
1 | nwdiag { |
peer networks
1 | nwdiag { |
1 | rackdiag { |
多个
1 | rackdiag { |
TCP 报文结构
1 | { |