Graphviz dot简明教程
graphviz是一个用特殊的文本语言来生成图片的应用,可以生成有向图和无向图。dot就是那个特殊的文本语言。
dot大概长这样:
graph {
a -- b;
c -- d;
}
生成图片:
$ dot -Tpng -o dot_demo.png dot_demo.dot
图片长这样:
安装
$ sudo pacman -S graphviz
语法
首先我们要声明一个图,可以使用 graph
,代表无向图,也可以使用 digraph
代表有向图。
graph graph_name {
a -- b;
c -- d;
}
graph_name
是可选的,如果没有,就是一个匿名图。其中,a
, b
, c
, d
都是一个节点,可以使用
node
关键字来进行属性设定,例如上面的变成:
graph graph_name {
node [color=Red];
a -- b;
c -- d;
}
生成的图片就会变成:
这些关键字包括:
node
: 修饰节点edge
: 修饰连线
而常见的可以修饰的属性包括下面这些:
bgcolor
: 背景颜色shape
: 形状size
: 大小
详见:https://graphviz.gitlab.io/_pages/doc/info/attrs.html
标注和变量声明
有的时候我们需要在连线上做一些标注,或者是声明节点以便重复使用,看个例子就晓得了:
digraph graph_name {
T [label="Teacher" color=Blue, fontcolor=Red, fontsize=24, shape=box] // node T
P [label="Pupil" color=Blue, fontcolor=Red, fontsize=24, shape=box] // node P
T->P [label="Instructions", fontcolor=darkgreen] // edge T->P
}
生成的图片是:
好了,就介绍这么多,其余的还是需要自己翻文档,不过这些知识已经够日常使用了。
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- 用peewee代替SQLAlchemy
- frp 源码阅读与分析(一):流程和概念
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(一):runc和containerd
- Docker组件介绍(二):shim, docker-init和docker-proxy
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程