Skip to content
← 返回文件与文本处理列表
文件与文本处理任务与配置

Graphviz 图结构、布局与着色 ​

分析连通分量 ​

bcomps · 将图形分解为它们的双连通分量 ​

Graphviz 过滤器:acyclic、bcomps、comps、edgepaint、gvcolor、gvpack、mingle、nop、sccmap、tred 和 unflatten。 更多信息:https://graphviz.org/pdf/bcomps.1.pdf。

  • 将一个或多个图形分解为它们的双连通分量:
bash
bcomps {{路径/到/输入1.gv 路径/到/输入2.gv ...}} > {{路径/到/输出.gv}}
  • 打印一个或多个图形中的块和切割顶点的数量:
bash
bcomps -v -s {{路径/到/输入1.gv 路径/到/输入2.gv ...}}
  • 根据 输出.gv 将每个块和块切割顶点树写入多个有编号的文件中:
bash
bcomps -x -o {{路径/到/输出.gv}} {{路径/到/输入1.gv 路径/到/输入2.gv ...}}
  • 显示 bcomps 的帮助信息:
bash
bcomps -?

ccomps · 将图形分解为它们的连通分量 ​

Graphviz 过滤器:acyclic、bcomps、comps、edgepaint、gvcolor、gvpack、mingle、nop、sccmap、tred 和 unflatten。 更多信息:https://graphviz.org/pdf/ccomps.1.pdf。

  • 将一个或多个图形分解为它们的连通分量:
bash
ccomps {{路径/到/输入1.gv 路径/到/输入2.gv ...}} > {{路径/到/输出.gv}}
  • 打印一个或多个图形中的节点、边和连通分量的数量:
bash
ccomps -v -s {{路径/到/输入1.gv 路径/到/输入2.gv ...}}
  • 根据 输出.gv 将每个连通分量写入多个有编号的文件中:
bash
ccomps -x -o {{路径/到/输出.gv}} {{路径/到/输入1.gv 路径/到/输入2.gv ...}}
  • 显示 ccomps 的帮助信息:
bash
ccomps -?

sccmap · 提取有向图的强连通分量 ​

Graphviz 过滤器:acyclic、bcomps、comps、edgepaint、gvcolor、gvpack、mingle、nop、sccmap、tred 和 unflatten。 更多信息:https://www.graphviz.org/pdf/sccmap.1.pdf。

  • 从一个或多个有向图中提取强连通分量:
bash
sccmap -S {{路径/到/输入1.gv 路径/到/输入2.gv ...}} > {{路径/到/输出.gv}}
  • 打印一个图形的统计信息,不生成输出图形:
bash
sccmap -v -s {{路径/到/输入1.gv 路径/到/输入2.gv ...}}
  • 显示 sccmap 的帮助信息:
bash
sccmap -?

校验与精简图结构 ​

acyclic · 通过反转一些边来使有向图无环 ​

Graphviz 过滤器:acyclic、bcomps、comps、edgepaint、gvcolor、gvpack、mingle、nop、sccmap、tred 和 unflatten。 更多信息:https://graphviz.org/pdf/acyclic.1.pdf。

  • 通过反转一些边来使有向图无环:
bash
acyclic {{路径/到/输入.gv}} > {{路径/到/输出.gv}}
  • 打印出一个图是无环的、有环的还是无向的,不产生输出图:
bash
acyclic -v -n {{路径/到/输入.gv}}
  • 显示 acyclic 的帮助:
bash
acyclic -?

nop · 检查有效性并以规范的格式漂亮地打印图形 ​

Graphviz 过滤器:acyclic、bcomps、comps、edgepaint、gvcolor、gvpack、mingle、nop、sccmap、tred 和 unflatten。 更多信息:https://www.graphviz.org/pdf/nop.1.pdf。

  • 漂亮地打印一个或多个规范格式的图形:
bash
nop {{路径/到/输入1.gv 路径/到/输入2.gv ...}} > {{路径/到/输出.gv}}
  • 检查一个或多个图形的有效性,不生成输出图形:
bash
nop -p {{路径/到/输入1.gv 路径/到/输入2.gv ...}}
  • 显示 nop 的帮助信息:
bash
nop -?

tred · 计算有向图的传递闭包约简 ​

Graphviz 过滤器:acyclic、bcomps、comps、edgepaint、gvcolor、gvpack、mingle、nop、sccmap、tred 和 unflatten。 更多信息:https://www.graphviz.org/pdf/tred.1.pdf。

  • 构建一个或多个有向图的传递闭包约简:
bash
tred {{路径/到/输入1.gv 路径/到/输入2.gv ...}} > {{路径/到/输出.gv}}
  • 显示帮助:
bash
tred -?

合并与调整图布局 ​

gvpack · 将多个具有布局信息的图形布局组合在一起 ​

Graphviz 过滤器: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred 和 unflatten。 更多信息:https://graphviz.org/pdf/gvpack.1.pdf。

  • 将多个具有布局信息的图形布局组合在一起:
bash
gvpack {{路径/到/布局1.gv 路径/到/布局2.gv ...}} > {{路径/到/输出.gv}}
  • 在图形层面上将多个图形布局组合在一起,保持图形分开:
bash
gvpack -g {{路径/到/布局1.gv 路径/到/布局2.gv ...}} > {{路径/到/输出.gv}}
  • 在节点层面上将多个图形布局组合在一起,忽略簇:
bash
gvpack -n {{路径/到/布局1.gv 路径/到/布局2.gv ...}} > {{路径/到/输出.gv}}
  • 将多个图形布局组合在一起而不进行打包:
bash
gvpack -u {{路径/到/布局1.gv 路径/到/布局2.gv ...}} > {{路径/到/输出.gv}}
  • 显示 gvpack 的帮助信息:
bash
gvpack -?

mingle · 捆绑图形布局中的边缘 ​

Graphviz 过滤器:acyclic、bcomps、comps、edgepaint、gvcolor、gvpack、mingle、nop、sccmap、tred 和 unflatten。 更多信息:https://www.graphviz.org/pdf/mingle.1.pdf。

  • 捆绑一个或多个已经有布局信息的图形布局的边缘:
bash
mingle {{路径/到/布局1.gv 路径/到/布局2.gv ...}} > {{路径/到/输出.gv}}
  • 通过一个命令执行布局、捆绑和输出到图片:
bash
dot {{路径/到/输入.gv}} | mingle | dot -T {{png}} > {{路径/到/输出.png}}
  • 显示 mingle 的帮助信息:
bash
mingle -?

unflatten · 调整有向图以改善布局的纵横比 ​

Graphviz 过滤器: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, 和 unflatten。 更多信息:https://www.graphviz.org/pdf/unflatten.1.pdf。

  • 调整一个或多个有向图以改善布局的纵横比:
bash
unflatten {{路径/到/输入1.gv 路径/到/输入2.gv ...}} > {{路径/到/输出.gv}}
  • 将 unflatten 作为 dot 布局的预处理器以改善纵横比:
bash
unflatten {{路径/到/输入.gv}} | dot -T {{png}} -o {{路径/到/输出.png}}
  • 显示 unflatten 的帮助:
bash
unflatten -?

为节点与边着色 ​

edgepaint · 对图形布局的边缘进行着色,以澄清交叉边缘 ​

Graphviz 过滤器:acyclic、bcomps、comps、edgepaint、gvcolor、gvpack、mingle、nop、sccmap、tred 和 unflatten。 更多信息:https://graphviz.org/pdf/edgepaint.1.pdf。

  • 对一个或多个已经有布局信息的图形布局的边缘进行着色,以澄清交叉边缘:
bash
edgepaint {{路径/到/布局1.gv 路径/到/布局2.gv ...}} > {{路径/到/输出.gv}}
bash
edgepaint -color-scheme={{accent7}} {{路径/到/布局.gv}} > {{路径/到/输出.gv}}
  • 对图形进行布局并对其边缘进行着色,然后将其转换为 PNG 图像:
bash
dot {{路径/到/输入.gv}} | edgepaint | dot -T {{png}} > {{路径/到/输出.png}}
  • 显示 edgepaint 的帮助信息:
bash
edgepaint -?

gvcolor · 用一系列颜色为有序有向图着色 ​

Graphviz 过滤器: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, and unflatten。 更多信息:https://graphviz.org/pdf/gvcolor.1.pdf。

  • 为一个或多个已被 dot 处理的有序有向图着色:
bash
gvcolor {{路径/到/布局1.gv 路径/到/布局2.gv ...}} > {{路径/到/输出.gv}}
  • 对一个图进行布局和着色,然后将其转换为 PNG 图像:
bash
dot {{路径/到/输入.gv}} | gvcolor | dot -T {{png}} > {{路径/到/输出.png}}
  • 显示 gvcolor 的帮助信息:
bash
gvcolor -?

示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。

继续阅读