Graphviz 和 ascii 输出

是否可以使用 Graphviz 绘制 ASCII 图表?

差不多是这样:

digraph
{
this -> is
this -> a
a -> test
}

会导致意想不到的结果。

相反,我想得到类似的 ASCII 表示:

   this
/    \
is      a
|
test

如何从点文件格式绘制 ascii 图?

20097 次浏览

如果你不反对 perl,graph-easy (和相关的 Graph::Easy包)可以做到这一点:

Http://search.cpan.org/~tels/graph-easy/

Http://search.cpan.org/~tels/graph-easy/bin/graph-easy

在 Mac 上,你可以用 Homebrew 和 cpan 安装这个软件:

brew install cpanminus
cpan Graph::Easy

安装后很容易调用:

cat dotfile.dot   | /opt/local/libexec/perl5.12/sitebin/graph-easy

下面是 Linux 的等效命令:

首先安装 cpanmin

sudo apt install cpanminus

在您可以安装 GraphEasy 之后

sudo cpanm Graph::Easy

下面是一个使用示例

cat input.dot | graph-easy --from=dot --as_ascii

使用图形-易于通过码头。您可以安装 whalebrew 并使用它来运行图形-很容易,而不需要安装太多的依赖于您的本地机器以外的 whalebrew 和 docker。

在 MacOS 上使用自制的安装码头

$ brew install docker
$ docker -v      # check if docker is running

安装 whalebrew-https://github.com/whalebrew/whalebrew(检查安装选项)

$ brew install whalebrew

安装图形-容易通过 whalebrew

$ whalebrew install tsub/graph-easy

现在播放

$ echo '[a]->[b]' | graph-easy


+---+     +---+
| a | --> | b |
+---+     +---+

现在,在 ubuntu 中,你可以直接安装和使用 graph-easy:

> sudo apt install libgraph-easy-perl
[...]


> graph-easy dotfile.dot
+----+     +------+
| is | <-- | this |
+----+     +------+
|
|
v
+------+
|  a   |
+------+
|
|
v
+------+
| test |
+------+

使用 Graph::Easy的 ASCII 功能的另一个选项是通过我托管的这个小服务直接从浏览器进行:

Https://dot-to-ascii.ggerganov.com