dot画图的一点实践

绘制流程图工具, 支持中文. 只要定义好节点和连接, 自动生成图片. 支持html语法, 可以用来生成表格.

它的绘图分为二步

(1)编写dot文件, 它相当于源代码,后缀名不限于.dot(后缀名什么的都是浮云)

(2)运行dot命令生成图片, 基本格式为

dot -Tjpg <dot文件> -o <生成图片名>

其中 Tjpg指明生成jpg格式图片,类似的选项还有Tpng(生成png图片), Tgif(生成gif图片)等

如果不弹出错误提示, 你的图片就生成了. 否则按装错误提示信息修改源码

比如我的一个dot文件如下:

#Writen by CallTree on 2013/1/14 16:00:28
digraph forest {
subgraph main{
main->fun1->fun2->printf;
fun2->fun3->printf;
fun3->fun4->printf;
fun3->fun5->fun4->printf;
fun5->fun6;
fun5->fun7->printf;
fun5->printf;
main->fun2;
}
}

如果画无向图,将名称改为graph,"->"替换为“--”,

定义更详细的节点属性
除了可以用label定义节点名称, 还有
shape 定义节点的形状
sides 设置边数
peripheries 可以设置外框层数
orientatio 可以让节点旋转一个角度
color 定义节点边框颜色
style. 用边框颜色填充节点

修改上面dot文件如下:

#Writen by CallTree on 2013/1/14 16:00:28
graph forest {
subgraph main{
main[label="Main" shape=polygon,sides=5,color=green]
fun1[shape=box,orientatio=30]
fun2[shape=circle,peripheries=3,color=red]
fun3[color=blue,style=filled]
fun4[shape=house]
main--fun1--fun2--printf;
fun2--fun3--printf;
fun3--fun4--printf;
fun3--fun5--fun4--printf;
fun5--fun6;
fun5--fun7--printf;
fun5--printf;
main--fun2;
}
}

设置连线属性
因为无法用唯一的值代示连线,所以必须在连线语包上方定义属性.命令关键字edge. 它将会一直影响下方的连线属性,下方的edge命令自动继承不矛盾属性.

#Writen by CallTree on 2013/1/14 16:00:28
graph forest {
subgraph main{
main[label="Main" shape=polygon,sides=5,color=green]
fun1[shape=box,orientatio=30]
fun2[shape=circle,peripheries=3,color=red]
fun3[color=blue,style=filled]
fun4[shape=house]
edge[color=red]
main--fun1--fun2--printf;
fun2--fun3--printf;
edge[color=green]
fun3--fun4--printf;
edge[style=dotted]
fun3--fun5--fun4--printf;
fun5--fun6;
fun5--fun7--printf;
fun5--printf;
main--fun2;
}
}

dot画图的一点实践相关推荐

  1. 两轴舵机云台的一点实践

    两轴舵机云台的一点实践 效果演示 硬件使用情况 定时器中断代码 计算机体系下的云台角代码 舵机控制代码 工程源码下载 简介: 为了学习姿态解算相关知识,最近做了一个作品,模仿炮塔跟随系统,用陀螺仪使两 ...

  2. 实现集合类的元素删除和修改的一点实践。。。

    一点很小的心得. 众所周知,具有迭代接口的集合类可以用foreach来遍历.但要求迭代过程不能被重置,也就是不能添加,删除或修改.有时候我们必须要这样做,就需要另辟蹊径来实现遍历. 比如ListVie ...

  3. 机器人防火墙:人机识别在应用安全及风控领域的一点实践

    美剧 WestWorld 第二集里有个场景十分有意思:游客来到西部世界公园,遇到了一个漂亮的女接待员,但无法区分对方是否是人类,于是产生了如下对话: Guest: "Are you real ...

  4. 关于商品详情页接口流程编排框架的一点实践

    商品详情页,其实就是查各种接口,然后集中对用户展示商品各种各类信息,最核心的就是商品信息,还包括关键信息诸如价格信息.优惠券.促销信息.配送信息,还有一些可有可无的内容,比如问答.评价等信息. 我们实 ...

  5. 使用dot画图的基本方法与模板

    1.下载dot并配置环境变量 http://www.graphviz.org/ 2.写.dot文件(常用模板) digraph DAG { rankdir=BT;//竖直排列 node [shape= ...

  6. Solidity合约中签名验证的一点实践

    背景 在目前NFT概念国内外火爆的背景下,涌现了很多项目,特别是公链以太坊上,社区与新团队更是层出不穷,让人眼花缭乱. 而一个新项目上线的成功与否,往往与其社区支持力度息息相关.现在很多新项目方为了拥 ...

  7. java dot画图_小O的图案 (Java代码)(最简单的解法)

    解题思路: 注意事项: 参考代码:import java.util.Scanner; public class C1788 { public static void main(String[] arg ...

  8. 从Docker零基础到懂一点实践教程(四)

    Docker镜像与仓库(一) 查看和删除镜像 Docker镜像是一种使用联合加载技术实现的层叠的只读文件系统,它是容器构建的基石.Docker的镜像存储在/var/lib/docker目录下.通过do ...

  9. Python爬虫的一点实践

    爬虫的分析方式 爬网页爬的是数据,如果是简单的html网页,可以通过chrome分析请求连接然后通过scrapy获取想要的数据,主要是xpath和正则表达式的使用: 如果是对网页的无目的搜寻式爬取,可 ...

最新文章

  1. 技术图文:02 创建型设计模式(上)
  2. 前四次作业--个人总结
  3. 7、LIKE:模糊查询
  4. VC++获取屏幕大小第一篇 像素大小GetSystemMetrics
  5. 车联网行业No.1元征科技的云端架构实现
  6. 如何用最简单的方式理解傅立叶变换?
  7. struts2类型转换+校验
  8. python request下载文件_Python3.4.3使用urllib.request下载文件带进度显示
  9. Program type already present: android.support.design.widget.xx
  10. 判断文本的行数c语言,软件工程统计文件中字符串个数,单词个数,词频,行数
  11. 开启MyBatis(三)工作原理
  12. 指纹和人脸识别 AI 总结
  13. 2021-09-0818. 四数之和
  14. 高等数学课后答案下册同济大学第七版
  15. matlab 代码 经典例题,MATLAB程序设计及经典例题解析3
  16. 【云原生】设备云之前端可视化编程
  17. 苹果手机怎么扩大内存_一招教你扩大手机虚拟内存,免费换个新手机
  18. Google Adsense 西联汇款热点问题的说明
  19. 常用逻辑用语@命题@猜想@量词@否命题和命题的否定
  20. 计算机桌面底下显示条,详细教您电脑屏幕出现条纹怎么办

热门文章

  1. SAP 技术原理搬砖 - ARAP重分类
  2. Virtual Box 下载、安装、创建虚拟机、映射启动U盘
  3. 身份证实名认证api
  4. dw main.less php,less基础详解 - Python测试和开发 - OSCHINA - 中文开源技术交流社区
  5. php5.6使用mysql_php5.6+MySQL5.6+Apache2.4环境搭建安装图文教程
  6. ec20 复位命令_EC20指令
  7. java后台开发中获取json格式及返回json格式数据
  8. 优化mysql数据库_MySQL数据库优化技巧大全
  9. php对接工行h5支付,工行的支付接口
  10. AutoMatic merge failed;fix conflicts and then commit the result.解决方法