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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容