Graphviz画图实现可视化

Graphviz画图实现可视化


介绍

G r a p h v i z Graphviz Graphviz是一个优秀的开源画图软件,采用 d o t dot dot语言编写,可以根据点,边等属性,自动绘制图,同时可以导出 p d f , p n g , s v g pdf,png,svg pdf,png,svg等格式,功能相当强大。


下载与安装

1.Win10-64位链接:

传送门

在这里插入图片描述
安装后是文件目录是这个样子
在这里插入图片描述
2.配置环境变量
在这里插入图片描述
在这里插入图片描述
然后 c m d cmd cmd下输入dot -version 检查是否安装成功。
在这里插入图片描述
出现上面文字说明安装成功。

注:如果出现Format: "dot" not recognized. Use one of: 就输入dot -c

至此已经成功安装完毕。


然后就可以开始画图了。
先随便创建一个 d o t dot dot为后缀名的文件,可以用自己的编译器编写,我是用的 S u b l i m e   T e x t   3 Sublime\ Text\ 3 Sublime Text 3
在这里插入图片描述

实例

先来画个有向图

digraph G {
	A -> B
	A -> C
	C -> D
}

c d cd cd进入到该文件目录下

将利用 d o t dot dot文件生成 p n g png png图片。

输入命令:
dot -Tpng my.dot -o my.png
在这里插入图片描述
效果:
在这里插入图片描述


G r a p h v i z Graphviz Graphviz功能很强大,比如可以用她画一个简单的二叉排序树。鬼知道我因为左右儿子问题开始画了两个小时。

digraph G {
    graph [nodesep=0.3]
    node [shape=circle]
    edge [arrowhead=vee]
    E [group=E]
    " " [group=" "]
    E -> " "
    _tmp [group=" ", label="", width=0, style=invis]
    _tmp1 [group=" ", label="", width=0, style=invis]
    " " -> _tmp [style=invis]
    " " -> _tmp1 [style=invis]
    " " -> "."; 
    _E [group=E, label="", width=0, style=invis]
    E -> _E [style=invis]
    v [group=v]
    E -> v
    e [group=e]
    v -> e
    a[group=a]
    e -> a;
    _a [group=a, label="", width=0, style=invis]
    a -> _a [style=invis]
    _a1 [group=a, label="", width=0, style=invis]
    a -> _a1 [style=invis]
    a -> d;
    _e [group=e, label="", width=0, style=invis]
    e -> _e [style=invis]
    e -> r;
    r -> m;
    m -> l;
    l -> h;
    _l [group=l, label="", width=0, style=invis]
    l -> _l [style=invis]
    h -> g;
    _h [group=h, label="", width=0, style=invis]
    h -> _h [style=invis]
    h -> i;
    _m [group=m, label="", width=0, style=invis]
    m -> _m [style=invis]
    m -> n;
    _n [group=n, label="", width=0, style=invis]
    n -> _n [style=invis]
    _n1 [group=n, label="", width=0, style=invis]
    n -> _n1 [style=invis]
    n-> o;
    _r [group=r, label="", width=0, style=invis]
    r -> _r [style=invis]
    r -> s;
    _s [group=s, label="", width=0, style=invis]
    s -> _s [style=invis]
    _s1 [group=s, label="", width=0, style=invis]
    s -> _s1 [style=invis]
    s -> t;
    _v [group=v, label="", width=0, style=invis]
    v -> _v [style=invis]
    /*_v1 [group=v, label="", width=0, style=invis]
    v -> _v1 [style=invis]
    v -> w;*/
    y [group=y,color=red]
    v -> y
    y -> w
    _y [group=y, label="", width=0, style=invis]
    y -> _y [style=invis]
    {rank=same; _E; e}
}

效果:
在这里插入图片描述


参考和学习文献:

传送门0

传送门1

传送门2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷酷的Herio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值