Graphviz和ascii输出

use*_*872 48 ascii graphviz

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

像这样的东西:

digraph
{
  this -> is
  this -> a
  a -> test
}
Run Code Online (Sandbox Code Playgroud)

给出以下图片:

图http://img15.imageshack.us/img15/6985/asciia.png

但我想获得ASCII表示:

   this
  /    \
is      a
        |
       test
Run Code Online (Sandbox Code Playgroud)

也许你知道其他工具可以理解点文件格式并可以绘制ascii图表吗?

spe*_*hil 41

如果你不是厌恶,那么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
Run Code Online (Sandbox Code Playgroud)

安装后很容易调用:

cat dotfile.dot   | /opt/local/libexec/perl5.12/sitebin/graph-easy
Run Code Online (Sandbox Code Playgroud)

  • 1.安装`sudo apt-get install cpanminus`.2.然后这个模块`sudo cpanm Graph :: Easy`.然后你可以用它作为'cat your.dot | graph-easy --from = dot --as_ascii` (8认同)
  • 您始终可以从 graphviz 导出 jpeg,然后使用命令行工具进行转换,例如: jp2a --background=light --width=150 (2认同)
  • @thamster可能会使文字难以辨认? (2认同)
  • 看起来有些人正在谈论它以防止版本特定的链接(http://szabgab.com/fixing-cpan-links-from-stack-overflow.html).由于我发布的链接不是特定于版本的,而且它是CPAN本身 - 让我们保留它.*在我与版本无关的CPAN链接之前,我看到MetaCPAN失败了.* (2认同)
  • 我认为社区将更好地添加额外的替代链接而不是替换现有的链接. (2认同)

Jim*_*Lim 9

通过 docker 使用 graph-easy。您可以安装whalebrew 并使用它来运行graph-easy,而无需在本地机器上安装whalebrew 和docker 以外的太多依赖项。

在 MacOS 上使用 homebrew install docker

$ brew install docker
$ docker -v      # check if docker is running
Run Code Online (Sandbox Code Playgroud)

安装whalebrew - https://github.com/whalebrew/whalebrew(检查安装替代方案)

$ brew install whalebrew
Run Code Online (Sandbox Code Playgroud)

通过whalebrew安装graph-easy

$ whalebrew install tsub/graph-easy
Run Code Online (Sandbox Code Playgroud)

现在通过

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

+---+     +---+
| a | --> | b |
+---+     +---+
Run Code Online (Sandbox Code Playgroud)


Cpp*_*ver 7

这是Linux的等效命令:

首先安装cpanminus

sudo apt install cpanminus
Run Code Online (Sandbox Code Playgroud)

可以安装GraphEasy之后

sudo cpanm Graph::Easy
Run Code Online (Sandbox Code Playgroud)

这是一个示例用法

cat input.dot | graph-easy --from=dot --as_ascii
Run Code Online (Sandbox Code Playgroud)


Chr*_*itz 7

至此,在ubuntu中,您可以直接安装和使用graph-easy:

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

> graph-easy dotfile.dot 
+----+     +------+
| is | <-- | this |
+----+     +------+
             |
             |
             v
           +------+
           |  a   |
           +------+
             |
             |
             v
           +------+
           | test |
           +------+
Run Code Online (Sandbox Code Playgroud)


Geo*_*nov 5

使用Graph::EasyASCII 功能的另一个选择是通过我托管的这个小型服务直接从您的浏览器:

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