Graphviz4S ---- 在Scala中使用DOT语言绘图的小工具

之前需要在Scala中用到类似Python的graphviz库的功能,用来在MXNet中可视化网络结构,但是在网上搜索了一下,没有找到好用的库,所以就自己去把python的graphviz库中的主要功能用 Scala 实现了一下,尽量的保持接口和python库的一致,也方便从python移植相关的代码到 Scala,然后我把这个小项目开源了,地址是

Ldpe2G/Graphviz4S​

有兴趣的朋友可以去试用一下。接下来我会结合代码,用几个例子来介绍如何使用这个小工具 Grapphviz4S,例子参考自这篇博客​

1、简单例子

1.1、简单图例

    首先来看第一个例子,Scala代码如下:

生成的结果如下:

1.2、简单图例2

    第二个例子和上面的一样,但是布局不同,Scala代码如下:

生成的结果如下:

1.3、简单有向图

    第三个例子是一个简单的有向图,Scala代码如下:

生成的结果如下:

1.4、带标签的简单有向图

    第四个例子给有向图的边加上标签,对应的Scala代码如下:   

生成的结果如下:

1.5、总结

    Scala代码:   

生成的结果如下:

2、高级例子

2.1、少写一点代码

    单独地去定义每一个节点的属性很浪费时间,下面这个技巧能够让你coding的速度快一点。

Scala代码如下:

结果如下:

2.2、html

    Scala代码如下:

结果如下:

2.3、有限状态机

    Scala代码如下:

结果如下:

2.4、数据流示意图

    Scala代码如下:   

结果如下:

2.5、数据流示意图2

    Scala代码如下:   

  结果如下:

2.6、对象继承

    Scala代码如下:       

结果如下:

2.7、关系型实体   

    Scala代码如下:

结果:

      通过以上例子的介绍,相信读者都能够了解如何使用这个小工具了,不过这个小工具还有很多

需要完善的地方,也欢迎感兴趣的朋友一起来完善它。       


本文首发于:https://zhuanlan.zhihu.com/p/65440652

你可能感兴趣的:(Graphviz4S ---- 在Scala中使用DOT语言绘图的小工具)