前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航

学会使用Graphviz绘制流程图

首页
2018-09-17 11:20:08
Front-End
Graphviz

# 一、初识Graphviz

# 1.1 简介

GraphViz是一个开源的图像可视化的软件,是贝尔实验室开发的一个开源的工具包,它使用一个特定的DSL(领域特定语言): dot作为脚本语言,然后使用布局引擎来解析此脚本,并完成自动布局。graphviz提供丰富的导出格式,如常用的图片格式,SVG,PDF格式等

# 1.2 环境搭建

结合sublime Text插件实时编译预览

使用shift+command+p,输入搜索选中Package Control: Install Package,然后输入GraphViz,然后安装GraphVizPreview即可,安装完成后,只要全选中代码,然后按shift+command+g就可以预览了。

  • 其实也可以直接用brew安装GraphViz,但是每次要敲命令行,太麻烦了

mac下执行

brew install graphviz
@前端进阶之旅: 代码已经复制到剪贴板

终端编译代码 dot test.dot -T png -o test.png

# 二、使用

Graphviz 支持两类图:无向图(graph,用“ - - ”表示节点之间)和 有向图(digraph,用“ ->” 表示节点之间)。graphviz包含3中元素,图,顶点和边。每个元素都可以具有各自的属性,用来定义字体,样式,颜色,形状等

GraphViz中包含多种布局

  • dot 默认布局,用于有向图
  • neato 基于spring-model算法(force-based)
  • twopo 径向布局
  • circo 圆形布局
  • fdp 用于无向图

# 2.1 第一个graphviz图

语法介绍 http://graphs.grevian.org/reference

digraph abc{
  a;
  b;
  c;
  d;
 
  a -> b;
  b -> d;
  c -> d;
}
@前端进阶之旅: 代码已经复制到剪贴板

定义顶点和边的样式

digraph abc{
  node [shape="record"];
  edge [style="dashed"];
  a;
  b;
  c;
  d;
 
  a -> b;
  b -> d;
  c -> d;
}
@前端进阶之旅: 代码已经复制到剪贴板

进一步修改顶点和边样式,将顶点a的颜色改为淡绿色,并将c到d的边改为红色

digraph abc{
  node [shape="record"];
  edge [style="dashed"];
 
  a [style="filled&
fe
  • 一、初识Graphviz
    • 1.1 简介
    • 1.2 环境搭建
  • 二、使用
    • 2.1 第一个graphviz图
    • 2.2 带标签
    • 2.3 子视图
    • 2.4 结构视图
    • 2.5 树形结构
    • 2.6 时序图
    • 2.7 一个hash表的数据结构
    • 2.8 模块的生命周期图
    • 2.9 简单的UML类图
    • 2.10 有限状态机
  • 三、语法
    • 3.1 图像属性
    • 3.2 交点属性
    • 3.3 边的属性
    • 3.4 尺寸, 背景颜色
  • 四、一些技巧
    • 4.1 插入图片
    • 4.2 统一节点和连线

← 好物快应用、H5端开发小结Ant Design Pro总结篇 →