brew install graphviz
以下例子的流程图中,叙述了 Python 的 Django Rest Framework 中数据库, Model, Serializer, 格式为 JSON/XML 的数据之间的关系
效果图
代码:
digraph d {
# 全局的一些设置
resolution=400;
rankdir="LR"; # 图的全局方向为 从左到右
#splines=polyline; # 指定连线的样式
# 定义流程图中的一些实体,实体的形状等都可以设置
1 [label="Model", shape=box, fontsize=15]
2 [label="DataBase", shape=box, fontsize=15]
3 [label="Serializer", shape=box, fontsize=15]
4 [label="JSON/XML", shape=oval, fontsize=15]
# subgraph 创建一个子流程图,可以看作一个模块
subgraph orm {
rankdir="TB";
1 -> 2 [xlabel="sync automatically", style=dashed, dir="both", fontsize=10, constraint=false]
#2 -> 1 [style=dashed, arrowhead=none, fontsize=10, constraint=false]
}
subgraph flow {
rankdir="LR";
3 -> 4 [label="serializer.isValid()\n2.serializer.save()", fontsize=10]
4 -> 3 [label="serializer.data", fontsize=10]
}
subgraph combine {
rankdir="TB";
1 -> 3 [label="1.serializer(data=(JSON/XML)) OR\n2.serializer(object, data=(JSON/XML))", fontsize=10]
3 -> 1 [label="serializer(model)", fontsize=10]
}
}
生成 png 图片
dot -T png -O chartDemo.dot