图解程序员画流程图、数据结构图及各种复杂图形的Graphviz工具入门

我们画常规图形时一般用word上面自带的插件或visio画图。但是我在画linux内核文件系统结构图、内存分配以及学习数据结构树、图时,发现使用Graphviz非常的方便快捷。鉴于网上关于它的安装、使用不是特别具体,本博文将一步步告诉大家如何快速地使用Graphviz画相关的流程图、树形图等。

1.安装Graphviz

在官网上面下载相关文件,地址:http://www.graphviz.org/Download..php。如果遇到官网进不去,可以等待一旦时间或者在网上直接搜索下载。

Linux安装命令为sudo apt-get install graphviz 。下面以Windows为例:

点击进入之后,下载后缀为.msi的文件。笔者下载的为graphviz-2.38.msi.

特别说明:安装完毕,在桌面可能不会出现快捷方式,不要以为自己没有安装成功。这时候我们可以在安装源目录里面找出来或者在所有程序里面把它搜索出来。建议第一种方法找到之后,右键建立快捷方式。

点击 gvedit.exe之后出现这个界面,其中那个跑步的为运行按钮

2. 如何使用Graphviz

2.1 学习官方例程

为了方便大家之后能够快速入门,这里我采用官网上面的源代码,官网上面例子很多。大家可以按需学习。例程官网地址:http://www.graphviz.org/Gallery.php

2.2查看例程源代码

这里以第二个例程源代码crazy为例,先点击图片进入。

之后可以看到指示,点击图片即可看见到源代码。

2.3建立工程,输出图像

先点击最左侧像书页的图标,在GVEdit上面的新建.gv文件,将上面获取的代码,粘贴进去,点击跑步按钮,即可生成所需图像。

附带一个简单的小例子,便于大家测试:

源代码:

digraph 1{

node[shape="record"];

edge[style="dashed"];

a[style="filled",color="red",fillcolor="chartreuse"];

b;

c;

d;

a ->b;

b ->d;

c ->d[color="green"];

d-> a;

}

到这里之后,如下的就是自己发挥空间,自己可以根据上面官网提供的代码进行学习。官网上面一些常见的图形都涉及都了,其他的结合dot脚步语言学习。

3.      参考资料

网上很多资料,这里笔者推荐Graphviz中文教程指南,网上有下载,CSDN上面下载地址:http://download.csdn.net/download/u010415192/9219945

 

  

时间: 2024-11-07 10:46:47

图解程序员画流程图、数据结构图及各种复杂图形的Graphviz工具入门的相关文章

好程序员分享大数据教程之线程高级部分

好程序员分享大数据教程之线程高级部分,首先讲一下线程的生命周期 对于一个线程, 在被创建后, 不是立即就进入到了运行状态, 也不是一直处于运行状态, 在线程的声明周期中, 一个线程会在多种状态之间进行切换 new : 新生状态, 线程被实例化, 但是还没有开始执行(start) runnable: 就绪状态, 已经执行过start, 线程已经启动了, 只是没有抢到CPU时间片 running: 运行状态, 抢到了CPU时间片 blocked: 阻塞状态, 线程执行的过程中, 遇到一些特殊情况,

Java程序员转行大数据的优势

大数据时代,中国IT环境也将面临重新洗牌,不仅仅是企业,更是程序员们转型可遇而不可求的机遇. 国内大多数大型互联网公司的程序员被称作研发工程师,但实际上国内几乎没有研发项目,只能叫做开发.开发程序员的工作大多是重复性劳动,容易产生疲惫感,薪资在工作2-5年内就达到了一个峰值,再要提升就比较困难,这样就导致了很多程序员最终转行做了其他行业. JAVA的精密,强大,拥有其它语言不可替代的性能和可维护性,早已经是成为最受欢迎的编程语言之一,很多人想进入IT行业,首选的第一门语言就是JAVA.但是,在未

黑马程序员_iOS应用数据存储-学习总结

iOS应用数据存储的常用方式 XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档 SQLite3 Core Data 应用沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 沙盒的结构: 应用程序包:包含了所有的资源文件和可执行文件 Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录.例如,游戏应用可将游戏存档保存在该

程序员转行大数据开发的重要【筹码】之一,掌握后最少能获得月薪20K

Hadoop由GNU / Linux平台及其版本支持.因此,我们必须安装一个Linux操作系统来设置Hadoop环境.如果您有除Linux以外的操作系统,您可以在其中安装Virtualbox软件,并在Virtualbox内部安装Linux. 分享之前我还是要推荐下我自己创建的大数据学习资料分享群 458345782,这是全国最大的大数据学习交流的地方,2000人聚集,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,欢迎初学和进阶中的小伙伴. 安装前设置 在将Hadoop安装到Linux环境

程序员转行大数据需要具备什么能力?

大家都说"我要做大数据", 然后"你想象中的做大数据到底是做什么?",大多数人往往说不出来. 显然,对于大数据行业的生态,未来大数据领域都有哪些发展机会.不同岗位需要具备什么能力,很多人都不了解. 大数据业务流程有4个基本环节,分别是业务理解.数据准备.数据挖掘.分析应用.在这个流程里有三个职能领域:大数据系统研发,承担整个运营系统的构建与维护.数据准备.平台与工具开发;大数据挖掘,负责关键模型应用与研究工作;大数据分析应用:既是外部需求的接入者,也是解决方案的输出

程序员用于机器学习数据科学的3个顶级 Python 库

NumPy NumPy(数值 Python 的简称)是其中一个顶级数据科学库,它拥有许多有用的资源,从而帮助数据科学家把 Python 变成一个强大的科学分析和建模工具.NumPy 是在 BSD 许可证的许可下开源的,它是在科学计算中执行任务的基础 Python 库.SciPy 是一个更大的基于 Python 生态系统的开源工具,而 NumPy 是 SciPy 非常重要的一部分. NumPy 为 Python 提供了大量数据结构,从而能够轻松地执行多维数组和矩阵运算.除了用于求解线性代数方程和其

[转载]图解程序员必须掌握的Java常用8大排序算法

这篇文章主要介绍了Java如何实现八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序,分享给大家一起学习. 分类1)插入排序(直接插入排序.希尔排序)2)交换排序(冒泡排序.快速排序)3)选择排序(直接选择排序.堆排序)4)归并排序5)分配排序(基数排序) 所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序. 先来看看8种排序之间的关系: 1.直接插入排序 (1)基本思想:在要排序的一

程序员之选:移动开发中几个全新的开源工具

移动优先的开发理念已经成为前瞻性应用开发机构的首要标志.有鉴于此,移动应用开发工具的阵营不断扩张.成员日益丰富自然不足为奇.爱加密小编收集了一部分开发人员的意见,整理了他们对于新型移动开发工具的看法.在本文中,我们就一起来了解这几款不容错过的杰出移动开发工具吧! AppGyver AppGyver包含多种快速开发工具,其中包括用于原型开发的Prototyper.用于开发PhoneGap应用的Steroids等. "AppGyver为应用程序开发与概念设计提供多种出色工具.我们利用AppGyver

数据备份与数据恢复产品——程序员的必备品

转载请注明出处! 原文链接:http://blog.csdn.net/zgyulongfei/article/details/37955857 小学有一篇课文叫做<亡羊补牢>,相信大家都还记得,这个故事告诉我们:在出了问题之后马上想办法补救可以防止情况恶化受到更严重的损失.谚语也有说"小洞不补,大洞吃苦",说的是遇到小问题要马上补救否则会酿成大祸.在信息安全领域里,数据丢失后进行亡羊补牢的方法是:数据恢复. 诗经<诗经·豳风·鸱鸮>有句:"迨天之未阴雨