c语言调用graphviz_graphviz使用

c语言调用graphviz_graphviz使用graphviz 是贝尔实验室几个计算机牛人设计的一个开源的图表 计算机科学中数据结构中的图 可视化项目 主要用 C 语言实现 主要实现了一些图布局算法 通过这些算法 可以将图中的节点在画布上比较均匀的分布 缩短节点之间的边长 并且尽量的减少边的交叉 graphviz 提供命令式的绘图方式 它提供一个 dot 语言用来编写绘图脚本 然后对这个脚本进行解析 分析出其中的定点 边以及子图 然后根据属性进行绘制

graphviz是贝尔实验室几个计算机牛人设计的一个开源 的图表(计算机科学中数据结构中的图)可视化项目,主要用C语言实现,主要实现了一些图布局算法。通过这些算法,可以将图中的节点在画布上比较均匀的分布,缩短节点之间的边长,并且尽量的减少边的交叉。

graphviz提供命令式的绘图方式,它提供一个dot语言 用来编写绘图脚本,然后对这个脚本进行解析,分析出其中的定点,边以及子图,然后根据属性进行绘制。具体的可以看一个例子,这个例子来自官方的文档。

下载

第一个demo

digraph G{

size = “4, 4”;//图片大小

main[shape=box];/*形状*/

main->parse;

parse->execute;

main->init[style = dotted];//虚线

main->cleanup;

execute->{make_string; printf}//连接两个

init->make_string;

edge[color = red]; // 连接线的颜色

main->printf[style=bold, label=”100 times”];//线的 label

make_string[label = “make a\nstring”]// \n, 这个node的label,注意和上一行的区别

node[shape = box, style = filled, color = “.7.3 1.0”];//一个node的属性

execute->compare;

}

执行:dot -Tjpg aaa.dot -o aaa.jpg

生成svg: dot -Tsvg aaa.dot -o aaa.svg

c语言调用graphviz_graphviz使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233892.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 这篇不讨好任何人的回忆录,记录了我从双非学校到BAT/TMD六offer的原因

    这篇不讨好任何人的回忆录,记录了我从双非学校到BAT/TMD六offer的原因注:给我想个新名字好不好呀,采用了直接发百元红包!没别的,想让大家认识兔兔rabbit,说一下自己的经验教训,应该会对很多人有帮助。一、前言在今年,我要毕业了,基本结束了大学生活,踏入了工作环境,觉得是时候写一个总结,给这段时光一个交代,也让多年后的我,还能回忆起这段经历,不忘初心。想起小学作文有个结构叫“总分总”,那我就先来简单的总结一下这两个环境吧。二、我的学校和工作学校,说实话,出了省就很少人知道的学校,学生基本和一流互联网公司无缘,如果范围缩小到后端开发,我觉得可以把基本去掉.

    2025年11月22日
    3
  • linux下如何启动ice服务器,Linux下ICE的安装[通俗易懂]

    linux下如何启动ice服务器,Linux下ICE的安装[通俗易懂]ICE在Linux下的完整编译安装安装平台要求:最好用gcc4.x版编译ICE,在Slackware下发现gcc3.3.6和gcc3.4.6都无法编译通过为了方便管理,将ICE相关的软件都安装到/usr/local/ICE-3.3.0/目录下首先安装第三方包:ThirdParty-Sources-3.3.0.tar.gz解压ThirdParty-Sources-3.3.0.tar.gz#c…

    2022年5月29日
    87
  • Jmeter 之正则表达式提取器应用「建议收藏」

    Jmeter 之正则表达式提取器应用「建议收藏」目录前言一、获取单个数据二、获取多个数据个人觉得非常非常细节的地方注意一下:前言说到Jmeter正则表达式提取器的应用,就不得不说到关联。所谓关联,就是把应用中动态变化返回的数据获取到,把它保存为一个参数,提供给后面需要用到的地方进行使用。Jmeter中关联可以通过“添加—后置处理器—正则表达式提取器”来获取数据,且注意正则表达式提取器附在需要获取数据的某个采样器之下,数据一般从“查看结果树“的响应数据获取。Jmeter中关联可以通过“添加—后置处理器—正则表达式提.

    2025年10月21日
    3
  • spss k均值聚类_K均值法与系统聚类法的异同

    spss k均值聚类_K均值法与系统聚类法的异同总目录:SPSS学习整理SPSS实现快速聚类(K-Means/K-均值聚类)目的适用情景数据处理SPSS操作SPSS输出结果分析知识点目的利用K均值聚类对数据快速分类适用情景数据处理SPSS操作分析——分类——K-均值聚类最大迭代次数根据数据量,分类数量,电脑情况自己调整,能选多点就把上限调高点。SPSS输出结果分析在数据集最右两列保存了该个案的分类结果与到聚类中心的距离。由于没有自定义初始中心,系统设定了三个。迭代9次后中心值不变。最终个三个聚类中心以及他们

    2025年6月29日
    2
  • 内连接、左外连接与右外连接的区别及作用介绍

    内连接、左外连接与右外连接的区别及作用介绍SQL语句当中比较难的部分就有今天要给朋友们分享的这个,innerjoin,leftjoin和rightjoin他们三个的作用以及区别是什么。顺便也会把交叉连接一起分享了。上面会分享一些基本的语法与使用,下方会详细介绍1)交叉连接,又称笛卡尔积SELECT*FROMtb1CROSSJOINtb2;//简写SELECT*FROMtb1,tb2;2)内连接//语法SELECTsome_columnsFROMtable1INNERJOINta

    2022年10月21日
    4
  • PAT乙级1013

    PAT乙级1013实现#include<iostream>#include<cmath>usingnamespacestd;boolisPrime(intnum){ inti; for(i=2;i<=sqrt(num);i++) { if(num%i==0) returnfalse; } returntrue;…

    2022年6月9日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号