Graphviz 绘制流程图
凝视说明非常具体。不再详述。
digraph G{
//dot 是一种画图语言,它能够方便你採用图形的方式高速、直观地表达一些想法,
//比方描写叙述某个问题的解决方式,构思一个程序的流程,澄清一堆貌似散乱无章的事物之间的联系……等等。
//总之,当你打算使用铅笔在纸上乱画一些圈圈框框并用一些带箭头的线将它们联系起来的时候。
//最好还是考虑一下使用 dot 来完毕这个工作。
//digraph 是 dot 用于定义有向图的命令,在这里它定义了一幅名为 G 的有向图,
//花括号里所包括的内容即为该有向图的内容,也就是结点和边。
//'->' 符号表示有向边,从一个结点指向还有一个结点。
//graph是 dot 用于定义无向图的命令。
//'--'符号表示无向边。
//1.定义一个图,并向图中加入须要的顶点和边
//2.为顶点和边加入样式
//3.使用布局引擎进行绘制
//【1】图的属性
//默认的顶点中的文字为顶点变量的名称,形状为椭圆; 边的默认样式为黑色实线箭头。
label = "图的属性设置演示样例"; //标签
fontsize = 10; //字体大小
fontname = "Microsoft YaHei"; //字体名称
//默认结点属性
node [shape = Mrecord, style = filled, fillcolor = ".7 .3 1.0", color = green, fontsize = 10];
//默认边属性
edge [arrowsize = .5]; //箭头为原来的0.5
//【1】 声明结点ID
a[shape = component, color = green]; //形状为component 边框颜色为green
b[shape = polygon, sides = 5, peripheries = 3]; //多边形 有五条边 3条边框
c[shape = polygon, sides = 4, skew = 0.4, label="CC"]; //多边形 有四条边 倾斜角度为0.4 标签文本为CC
d;
e;
f[shape = circle, color = red, style = solid]; //圆形 边框颜色为red
//【2】 构造连接关系。採用 '->' ,后面的[]中用于定义边的属性
a->b[color="red"]; //边为red色
a->c[style = dashed]; //边为虚线
a->d[style = bold, label="100 times"]; //边加粗,线的标签为100 times
b->e;
e->{f; d}; //同一时候连接两个
b->s0[arrowhead = "normal", dir=both]; //边的箭头类型为正常类型,方位为双向
//[3] 结点分组 -- 子图subgraph
//子图的名称必须以cluster开头,否则graphviz无法设别。
subgraph cluster_1{
label = "process 1"; //子图的标签
bgcolor="mintcream"; //子图的背景色
s0->s1->s2; //构造连接关系
};
//[4] 多条数据的记录 shape = "record"
//採用'|'切割数据 '\l'换行
Animal[label = "{Animal | + name : String\l+ age : int\l |+ die() : void\l}", shape = "record" ];
subgraph clusterAnimalImpl{
bgcolor = "yellow";
Dog[label = "{Dog| |+ bark() : void\l}" , shape = "record"];
Cat[label = "{Cat| |+ meow() : void\l}" , shape = "record"];
};
edge[arrowhead = "empty"];
Dog->Animal;
Cat->Animal;
Dog->Cat[arrowhead="none", label="0..*"];
}
效果图:
很多其它參考:
安装完Graphviz软件后,在安装文件夹的..\Graphviz\share\graphviz\doc\html,获取很多其它的參考资料。
Graphviz 绘制流程图的更多相关文章
- 使用graphviz绘制流程图
转自 http://www.cnblogs.com/CoolJie/archive/2012/07/17/graphviz.html
- 记录使用echarts的graph类型绘制流程图全过程(二)- 多层关系和圆形图片的设置
本文主要记录在使用echarts的graph类型绘制流程图时候遇到的2个问题:对于圆形图片的剪切和多层关系的设置 图片的设置 如果用echarts默认的symbol参数来显示图片,会显示图片的原始状态 ...
- 玩转控件:GDI+动态绘制流程图
前言 今天,要跟大家一起分享是"GDI+动态生成流程图"的功能.别看名字高大上(也就那样儿--!),其实就是动态生成控件,然后GDI+绘制直线连接控件罢了.实际项目效果图如下 ...
- Graphviz绘制百家争鸣图
最近读易中天<先秦诸子百家>,一边读一边在纸上画出逻辑关系,图越来越复杂,趁中午休息索性就把图用Graphviz重新绘制了一下;由于Graphviz主动承担了绘图排版的职责,我只需要关注内 ...
- 利用Graphviz绘制逻辑关系依赖图
说明:在很多情况下,需要将复杂且有些规律的代码整理成逻辑片段,这个时候就需要画图,很多时候图比代码更加直观 Graphviz是一个比较好的绘图工具,可以通过简单的代码绘制出复杂的逻辑图,且其代码就像平 ...
- 使用SVG绘制流程图
本篇主要记录流程图的实现过程中的难点和核心技术点,先上效果图: 节点可以任意拖拽,曲线跟随变化 正在连接的线 1.节点实现 流程图是基于SVG绘制的,节点主要利用 g 和 foreignObject的 ...
- graphviz 绘制架构图
架构图: 1.依赖调用关系.(类似文献引用关系, graphviz 自动将每一次调用升一次层级) 2.依赖调用可能是上下层级调用,也可能是同层级引用. 需人工去梳理出这些关系 3. 引用多的用颜色标识 ...
- 记录使用echarts的graph类型绘制流程图全过程(一)-x,y位置的计算
先说下本次案例业务需求,输入2个节点,获取数据后绘制出2个节点间的路径,之前使用的是网状图,但是网状图的效果不佳,需要转换成流程图的模式: 那么如何在不修改数据的情况下,实现类似效果尼? 看了下ech ...
- 利用python+graphviz绘制数据结构关系图和指定目录下头文件包含关系图
作为一名linux系统下的C语言开发,日常工作中经常遇到两个问题: 一是分析代码过程中,各种数据结构互相关联,只通过代码很难理清系统中所有结构体的整体架构,影响代码消化的效率; 二是多层头文件嵌套包含 ...
随机推荐
- BZOJ 2588: Spoj 10628. Count on a tree( LCA + 主席树 )
Orz..跑得还挺快的#10 自从会树链剖分后LCA就没写过倍增了... 这道题用可持久化线段树..点x的线段树表示ROOT到x的这条路径上的权值线段树 ----------------------- ...
- BZOJ 2705: [SDOI2012]Longge的问题( 数论 )
T了一版....是因为我找质因数的姿势不对... 考虑n的每个因数对答案的贡献. 答案就是 ∑ d * phi(n / d) (d | n) 直接枚举n的因数然后求phi就行了. 但是我们可以做的更好 ...
- 设置HTTP代理
Maven通过<<UserHome>>/.m2/settings.xml(如果没有该文件,复制<<MavenHome>>/conf/settings.x ...
- Android Gradle Plugin指南(六)——高级构建定制
原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Advanced-Build-Customization ...
- 高性能MySql进化论(四):Summary,Cache,Counter表的使用
在实际的应用中,往往会定期的对一个周期内的系统数据进行统计分析.例如某购物网站定期的统计商品在一个月/年期内的销售情况,如果采用扫描所有相关表的方式在某个时间点进行统计分析, 由于数据量很大,以及表结 ...
- Winsock基础编程
Winsock基础编程 Socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,取后一种意思.通常也称作"套接字",用 ...
- Qt入门-字符串类QString
原地址:http://blog.csdn.net/xgbing/article/details/7770854 QString是Unicode字符的集合,它是Qt API中使用的字符串类. QStri ...
- listbox多选实现上下移动 js版和服务器版
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="X200906021128.as ...
- Codility上的问题 (17) PI 2012
这个题比较简单,给定一个整数数组,对每个元素,求出和它最近比它大的数的距离(下标绝对值),如果没有比它大的数,认为距离是0. 数组元素个数 N [0..50000],数组元素范围[-10^9, +10 ...
- 大数据时代的精准数据挖掘——使用R语言
老师简介: Gino老师,即将步入不惑之年,早年获得名校数学与应用数学专业学士和统计学专业硕士,有海外学习和工作的经历,近二十年来一直进行着数据分析的理论和实践,数学.统计和计算机功底强悍. 曾在某一 ...