在java程序中调用graphviz

前言

日常的开发工作中,为代码添加注释是代码可维护性的一个重要方面,但是仅仅提供注释是不够的,特别是当系统功能越来越复杂,涉及到的模块越来越多的时候,仅仅靠代码就很难从宏观的层次去理解。因此我们需要图例的支持,图例不仅仅包含功能之间的交互,也可以包含复杂的数据结构的示意图,数据流向等。

graphviz简介

本文介绍一个高效而简洁的绘图工具graphvizgraphviz是贝尔实验室开发的一个开源的工具包,它使用一个特定的DSL(领域特定语言): dot作为脚本语言,然后使用布局引擎来解析此脚本,并完成自动布局。graphviz提供丰富的导出格式,如常用的图片格式,SVG,PDF格式等。

graphviz[http://graphviz.org]  不想下载的话有网页版[http://www.webgraphviz.com]  基本教程[http://icodeit.org/2015/11/using-graphviz-drawing/]

而且,graphviz还可以由eclipse调用,直接生成图片于文件夹中,这里通过本人的实验分享一下在eclipse中调用graphviz的方法

这边将用到window版本的graphviz,找到dot.exe的路径,在我的电脑是C:\Program Files (x86)\Graphviz2.38\bin\dot.exe


首先,在你的package中再创建一个名为Graphviz.java的文件

然后在此文件中输入

package pair_programming;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
class GraphViz {
 //private static String
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Graphviz是一款开源的图形可视化工具,可以将描述图形的代码转换成图形。如果你想在c语言调用Graphviz,通常可以通过以下步骤实现: 1. 安装Graphviz工具:在Graphviz官网上下载并安装Graphviz工具,安装完成后将Graphviz安装目录添加到系统环境变量。 2. 在c语言调用Graphviz API:Graphviz提供了C语言的API,可以通过这些API来生成图形。在c语言引入Graphviz API头文件,并调用Graphviz提供的函数来生成图形。 3. 编写描述图形的代码:使用Graphviz的语言描述工具(如DOT语言)编写描述图形的代码。 4. 将描述图形的代码传递给Graphviz API:将描述图形的代码传递给Graphviz API,调用API生成图形。 下面是一个简单的示例代码,可以在c语言使用Graphviz API来生成一个简单的图形: ```c #include <stdio.h> #include <stdlib.h> #include <gvc.h> int main(int argc, char **argv) { GVC_t *gvc; graph_t *g; node_t *n1, *n2, *n3; /* 创建一个图形 */ gvc = gvContext(); g = agopen("g", Agdirected, NULL); /* 创建三个节点 */ n1 = agnode(g, "n1", 1); n2 = agnode(g, "n2", 1); n3 = agnode(g, "n3", 1); /* 添加边 */ agedge(g, n1, n2, NULL, 1); agedge(g, n2, n3, NULL, 1); /* 渲染图形 */ gvLayout(gvc, g, "dot"); gvRenderFilename(gvc, g, "png", "output.png"); /* 释放内存 */ gvFreeLayout(gvc, g); agclose(g); gvFreeContext(gvc); return 0; } ``` 在这个示例代码,我们使用Graphviz API创建了一个有三个节点和两个边的图形,并将图形渲染成PNG格式的图片。你可以根据自己的需求修改代码来生成不同的图形。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值