`

用php调用graphviz轻松画拓扑图

 
阅读更多
graphviz是一款古老的画拓扑图的工具,非常强大,能够按照你在文本文件里定义的格式转换为拓扑图,很多大公司都是用graphviz来画拓扑图,它的最主要的功能是用程序生成文本,然后调用graphviz来把文本转化为拓扑图。
1.安装graphviz
到http://www.graphviz.org/Download..php里下载对应的平台的安装包;
我用的是centos因此用yum安装最方便



    wget http://www.graphviz.org/graphviz-rhel.repo /etc/yum.repos.d/graphviz-rhel.repo 
    yum install graphviz





2.安装完毕后进行测试



    echo “digraph G {Hello->World}” | dot -Tpng >hello.png





3.php 调用graphviz

首先用程序生成/tmp/domain.txt,然后用dot命令生成图片



    <?php 
       header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
    
       header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified 
    
       header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
    
       header ("Pragma: no-cache"); // HTTP/1.0 
    
       header ("Content-type: image/gif"); 
       $filename = '/tmp/domain.txt'; 
       $somecontent = "digraph G {a->b->c->a}"; 
        if (!$handle = fopen($filename, 'w')) { 
             echo "cannot open $filename"; 
             exit; 
        } 
        if (fwrite($handle, $somecontent) === FALSE) { 
            echo "cannot write to $filename"; 
            exit; 
        } 
        fclose($handle); 
    
       passthru("dot -Tpng $filename"); 
    // passthru("cat $filename | dot -Tpng"); 
    
    ?>

end
分享到:
评论

相关推荐

    c#画网络拓扑图

    在Windows窗体应用程序中,使用C#来绘制网络拓扑图是一项常见的任务,尤其是在系统管理和监控领域。网络拓扑图可以清晰地展示网络设备、服务器、交换机、路由器等元素之间的连接关系,帮助管理员理解网络架构,进行...

    graphviz 2.28

    描述中的代码链接指向了一个CSDN博客文章,作者分享了如何使用Graphviz生成拓扑图的详细步骤。在实际应用中,开发人员或系统管理员常利用Graphviz来可视化程序的调用关系、数据库结构、网络拓扑等复杂关系。通过这种...

    Ubuntu1804 源码阅读神器,egypt+graphviz 图形化显示函数调用关系(超详细+图文并茂)

    看源码的时候,心血来潮想弄一下函数之前的调用关系,想起以前doxygen配合graphviz使用可以生成比较直观的函数调用关系图,但是前提是函数的注释需要严格按照doxygen的规范,具体可以自己去搜索一下,当然使用source ...

    使用graphviz画的数据流图

    通过学习和掌握`Graphviz`及其`DOT`语言,你不仅可以创建数据流图,还可以创建流程图、状态机图、网络拓扑图等多种图表,为你的项目文档和演示提供清晰、专业的可视化支持。对于IT专业人士来说,这是一个非常实用的...

    C#中使用WinGraphviz实现dot脚本语言绘图

    dot是一种强大的图描述语言,由Graphviz开源项目提供,广泛用于数据结构可视化、流程图、网络拓扑图等。本文将深入探讨如何在C#中使用WinGraphviz库来解析和渲染dot脚本,以及通过提供的WinGraphvizDemo示例项目了解...

    利用graphviz画函数关系图

    要使用该方法,要先安装gcc,python2.7,绝对可行,选择某一源文件,即可调用。源码内设路径可自行调整。

    Windows平台下Doxygen+GraphViz+HtmlHelp自动生成函数调用关系图.pdf

    Graphviz是一个图形可视化软件,它可以用来绘制各种图形,例如函数调用关系图。HtmlHelp是一个帮助文件生成器,可以将生成的文档转换为HTML格式,方便在网页上查看。 首先,文档指出在安装Doxygen、Graphviz和...

    决策树绘制graphviz

    这段代码将决策树模型转换为DOT语言,并使用Graphviz的`Source`类创建一个图对象,最后调用`view`方法在默认的图形查看器中显示决策树。 标签"机器学习 决策树"表明了这个主题的核心内容,即如何在机器学习项目中...

    graphviz-2.38与PlantUML结合使用

    总的来说,Graphviz和PlantUML的结合使用为开发者和文档撰写者提供了便利,他们可以轻松地创建出专业且美观的图表,而无需深入了解图形设计的细节。这种组合在软件开发、教学和知识分享中具有很高的价值。记住,安装...

    Python调用graphviz绘制结构化图形网络示例

    本文将详细介绍如何使用Python调用graphviz来绘制结构化的图形网络。 首先,要使用graphviz,你需要先在官网下载并安装Graphviz软件。安装完成后,确保将其安装目录下的`bin`路径添加到系统的环境变量中,这样...

    rabbitmq-graphviz:使用graphviz显示RabbitMQ拓扑的脚本

    使用 graphviz 显示 RabbitMQ 拓扑的脚本,深受启发。 生成样本(目前只有一个): $ make samples 跑步: $ python rabbitmq_graphviz.py -d [DEFINITIONS_FILE] -o [DOT_FILE] 使用-p和-c标志分别呈现生产者...

    Graphviz中文指南.pdf

    Graphviz广泛应用于软件工程中,用于生成UML图、流程图、网络拓扑图等。 在Graphviz中,主要使用DOT语言进行图形的描述。DOT语言简单易懂,是一种基于文本的图形描述语言,允许用户声明节点(点)和边(线)以及...

    jquery.graphviz.svg, 使 graphviz svg图表响应响应的jquery插件.zip

    jquery.graphviz.svg, 使 graphviz svg图表响应响应的jquery插件 jquery.graphviz.svg可以使Graphviz的输出更加交互和易于浏览的jQuery插件。 使具有以下特性的功能变得容易:突出显示节点/边放大/缩小图形导航- ...

    Graphviz2.38+Graphviz中文指南

    Graphviz2.38+Graphviz中文指南是一个包含软件包和相关文档的资源,主要针对Graphviz这款开源图形绘制工具的使用。Graphviz,全称是"Graph Visualization Software",是一个强大的图形绘制引擎,用于自动布局和绘制...

    graphviz.msi graphviz Windows安装包

    它包含了所有必要的组件,使得用户能够在Windows环境下轻松安装并使用Graphviz。 Graphviz(Graph Visualization Software)的核心功能在于其图形布局算法,这些算法能够自动计算节点之间的最佳排列方式,使得图表...

    拓扑图.zip

    4. Graphviz:开源自动布局工具,适用于自动生成复杂网络的拓扑图。 五、压缩包内容分析 由于没有具体的文件列表,我们无法详细分析“拓扑图.zip”的内容。但通常情况下,这个压缩包可能包含一个或多个SVG、PNG、...

    Graphviz一个图形库

    5. PHP接口:虽然可以直接通过执行shell命令来使用Graphviz,但有些PHP项目可能更倾向于使用PHP封装的类库,如`alexandresalome/graphviz`。这个库提供了一个友好的PHP API,方便在代码中直接操作和渲染图。 6. ...

    graphviz-2.38.msi

    2. **系统架构图**:在IT系统设计中,可以用Graphviz绘制出系统组件之间的关系和交互,方便团队沟通和理解。 3. **流程图**:在项目管理、业务流程分析中,可以利用Graphviz快速生成流程图,展示工作流和决策过程。 ...

    正则表达式到dfa(graphviz输出图像)

    4. **Graphviz图形输出**:Graphviz是一个开源图形绘制工具,可以用来可视化复杂的图结构,包括DFA。`graphviz`库在Python中提供了接口,使得我们可以将DFA的状态转换为图形,便于理解和调试。为了使用此功能,用户...

    wamp+Xhprof+graphviz【可视化PHP性能测试工具安装配置详细流程】

    要使用Xhprof,只需在要分析的PHP脚本开头和结尾分别调用`xhprof_enable()`和`xhprof_disable()`,分析数据就会被保存到指定的输出目录。 然而,Xhprof生成的数据是纯文本格式,对于非专业人员来说可能难以理解。...

Global site tag (gtag.js) - Google Analytics