graphviz教程

graphviz是一个开源的图形可视化软件,与其他图形软件所不同,它的理念是“所想即所得”,通过dot语言来描述并绘制图形。

首先是安装,在ubuntu下,可以直接使用命令sudo apt-get install graphviz命令来安装,当然也可以从源码来安装,源码可以从这里下载: http://www.graphviz.org/pub/graphviz/stable/SOURCES/

接下来看一个简单的实例:
graph graphname {
        a -- b;
        b -- c;
        b -- d;
        d -- a;
};

生成jpg格式图片的Makefile如下:

demo.jpg:demo.dot
        dot -Tjpg demo.dot -o demo.jpg

clean:
        rm demo.jpg
当然也可以生成其它格式的图片。最终生成的jpg图片如下:


再来看一个例子:

graph graphname {
        rankdir=LR;     //Rank Direction Left to Right
        a -- b;
        b -- c;
        b -- d;
        d -- a;
};
同样的图片,只是布局不一样,效果如下:


有向图:

digraph graphname {
        a -> b;
        b -> c;
        a -> c;
};
效果如下:

从上面几个例子可以看出,无向图使用关键字"graph"来定义,而有向图使用关键字"digraph"来定义。无向图的边使用"--"来定义,而有向图的边使用"->"来定义。

再来看一个图带上label的例子:

digraph graphname {
        T [label="Teacher"]     // node T
        P [label="Pupil"]       // node P
        T->P [label="Instructions", fontcolor=darkgreen] // edge T->P
};
效果如下:

由上面例子可以看出,label可用来定义顶点和边的名字。

注:分号';'和逗号','不是必须的,只是为了增强可读性,可以用空格来代替(2015.07.30 add)。

再来看其它属性的例子:

digraph graphname {
        T [label="Teacher", color=Blue, fontcolor=Red, fontsize=24, shape=box]   // node T
        P [label="Pupil", color=Blue, fontcolor=Red, fontsize=24, shape=box]     // node P

        T->P [label="Instructions", fontcolor=darkgreen] // edge T->P
};
效果如下:


最后一个例子:

digraph summary {
        start [label="Start with a Node"]
        next [label="Choose your shape", shape=box]
        warning [label="Don't go overboard", color=Blue, fontcolor=Red, fontsize=24, style=filled, fillcolor=green, shape=octagon]
        end [label="Draw your graph!", shape=box, style=filled, fillcolor=yellow]

        start->next
        start->warning
        next->end [label="Getting Better...", fontcolor=darkblue]
};
注darkblue这个值编译时会提示一个Warning,提示没有这个color,而最终生成的图也的确没有起作用,默认使用了黑色这个值,效果如下:


参考教程:

http://www.tonyballantyne.com/graphs.html

http://www.graphviz.org/pdf/dotguide.pdf


不熟悉的大家也可以去graphviz官网( http://www.graphviz.org)去看看,上面也有很多教程和实例。
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值