您的位置:首页 > 编程语言 > Java开发

java绘图 -- Dot语言小结

2016-09-14 21:10 309 查看
dot语言帮助文档官方网址帮助文档

1.Dot语言简介

DOT语言是一种文本图形描述语言。它提供了一种简单的描述图形的方法,并且可以为人类和计算机程序所理解。
(摘自 维基百科)

注意:
1. dot在这里作为一种语言,是类似于java的一种语言,只不过这种语言是用来描述图形的。(从某种程度上来看,这是一种对于图形的符号化表示,将图形以字符串的形式表示出来)
2. Dot语言中,根据图形的不同属性,建立了一些相应的关系。这里所说的属性包括,颜色,大小,形状等等。(这些都是显示上的一些效果(形式),是为了方便人的理解,使人们更容易区分)
3. Dot最本质的东西应该是对于**图**的绘制,这是十分本质的一个东西。这也是Dot所反映的主要内容。

##2.Dot语言的基本语法
在命令行将**dot文件****转为相应的图片**:
dot -Tpng blockGraph.dot -o blockGraph.png

参考官方说明: http://www.graphviz.org/content/dot-language
##3.我的Dot使用总结。

###3.1 Dot的基本结构

1. 在创建元素之前,你得先创建一个**图**,用来作为一个**容器**,以此用来**装依赖于容器的元素**。
digraph G{ }就是起到了这个作用

2. 一旦有了容器之后,就可以在其中放元素了。
由于Dot语言的主要功能在于,准确的刻画图,所以它的**核心的东西也是围绕着图来展开的(结点,边)**
下面的实例中:
**data1,data2**都是结点。
而两者之间的关系,用边来表示 :**data1 -> data2**

3. 在下面的代码示例中,我通过Dot语言构造了一个**图的空间**,在这个空间中,data1,data2是该空间的实体,并且这两个名字是他们存在于这个世界的身份。(应当具有**唯一性**)

4. 但是人们构造图的另一个方面,是为了方便人们分析,查看,所以图通过某种形式像外界展示。例如:这里的**label属性**就是显示给人看的时候的样子。

代码示例:

digraph G {
data1 -> data2;
data1 [label="if i < 1 goto nop"];
data2 [label="goto"];
}


3.2一些犯错

错误1

digraph G {

“if i 1 goto nop” -> “goto”;

}

效果(显然不是我们想要的):

它把每个空格分隔的词汇当做了一个实体

我希望只有两个实体一个边



进行改进:

区分label和实体名。

digraph G {
data1 -> data2;
data1 [label="if i < 1 goto nop"];
data2 [label="goto"];
}


改进后的效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图形 java