对于理解一个程序来说,不同的人可能会有不同的方法。不过总的来说如果要关要逻辑思维去理解在有些情况下,可能会很有难度。这也就可以解释为什么近几年来可视化领域的发展是如何的速度,人们对于图形的理解要比数字快多了。
至于为什么用的是dot,而不是其他,很重要的一部分原因在于dot是一种语言,我们只需要简单的编程及可,所谓的简单指的是类似于CSS+HTML的关系,当然比这个还简单。
其他可以参考官网,当然还有Tjpg,Tbmp,如果你需要的话。 (转载保留 Phodal's Blog Phodal's zenthink )
是不是对这张图有点熟悉?
至于为什么用的是dot,而不是其他,很重要的一部分原因在于dot是一种语言,我们只需要简单的编程及可,所谓的简单指的是类似于CSS+HTML的关系,当然比这个还简单。
安装Graphviz
Graphviz的安装在哪个系统中都不算复杂,所谓的复杂安装如TeX等等。Windows
官网下载 graphviz.orgLinux
Ubuntu
sudo apt-get install graphviz
openSUSE
sudo zypper install graphviz
Mac OS X
brew install graphviz
简单的示例
digraph G{
a->b;
b->c;
c->d;
c->e;
}
这是一个简单的示例,也就是a->b,b->c和我们平时画的东西没有什么区别
生成
对应于格式可以生成相应的图片 dot -Tpng g.dot -o g.png
其他可以参考官网,当然还有Tjpg,Tbmp,如果你需要的话。 (转载保留 Phodal's Blog Phodal's zenthink )
结果
如下所示
UML示例
一个简单的类表示如下
用dot来表示就是
Employee [
label="{Employee|yearToDateEarings|ComputePay}"
]
当然还要在前面加上个形状
node[
shape="record"
]
我们还需要一个空心的箭头
edge[
arrowhead="empty"
]
效果
最后代码如下
digraph G{
edge[
arrowhead="empty"
]
node[
shape="record"
]
Employee [
label="{Employee|yearToDateEarings|ComputePay}"
]
FullTimeEmployee[
label="{FullTimeEmployee|weeklyRate|computePay}"
]
PartTimeEmployee[
label="{PartTimeEmployee|hourlyRate|computePay}"
]
PartTimeEmployee->Employee
FullTimeEmployee->Employee
}
是不是对这张图有点熟悉?