用 ASCII 创建图表

Mar*_*ter 175 graph text ascii-art

我正在寻找一个程序,我可以用它来创建这样的 ASCII 图表:

    +---------+
    |         |                        +--------------+
    |   NFS   |--+                     |              |
    |         |  |                 +-->|   CacheFS    |
    +---------+  |   +----------+  |   |  /dev/hda5   |
                 |   |          |  |   +--------------+
    +---------+  +-->|          |  |
    |         |      |          |--+
    |   AFS   |----->| FS-Cache |
    |         |      |          |--+
    +---------+  +-->|          |  |
                 |   |          |  |   +--------------+
    +---------+  |   +----------+  |   |              |
    |         |  |                 +-->|  CacheFiles  |
    |  ISOFS  |--+                     |  /var/cache  |
    |         |                        +--------------+
    +---------+
Run Code Online (Sandbox Code Playgroud)

它最好是Debian 中可用的软件包。上面显示的精彩图表取自 Linux 内核文档。我不敢相信它们是手工制作的。必须有一些工具来创建它们。

slm*_*slm 162

ASCII码

我已经使用asciio好几年了。本网站上的许多图表都是我使用asciio.

例子

  vncviewer         .-,(  ),-.    
   __  _         .-(          )-.           gateway           vncserver 
  [__]|=|  ---->(    internet    )-------> __________ ------> ____   __ 
  /::/|_|        '-(          ).-'        [_...__...°]       |    | |==|
                     '-.( ).-'                               |____| |  |
                                                             /::::/ |__|
Run Code Online (Sandbox Code Playgroud)

GUI 看起来像这样。

           asciio 的 ss

注意:一切都由右键菜单和快捷键驱动。

画出来

使用vim随着DrawIt插件,你也可以创建基本的图表。本文标题为:如何在 Vim 编辑器中创建 ASCII 绘图(在文本文件中绘制框、线、椭圆、箭头)中提供了有关如何安装和使用它的一个很好的概述。

水流

有一个名为asciiflow的网站,它可能是绘制此类图表的最简单方法。

   党卫军#2

爪哇

另一个用 Java 编写的工具JavE也可以创建这样的 ascii 图。

                                 ,'''''''''''''|
                                 | Controller  |
                                 |             |
                                 '`'i''''''''''
                                  ,'        `.
                                ,'            `.
                               -                -
                     ,'''''''''''''|      ,''''''''''''`.
                     |    Model    |______|    View     |
                     |             |      |             |
                      `''''''''''''       '`'''''''''''''
Run Code Online (Sandbox Code Playgroud)

GUI 如下所示:

   党卫军#2

资源

  • 也许添加一个关于:https://textik.com/的注释。 (3认同)
  • 我最近创建了 [AsciiGrid](https://mbarkau.keybase.pub/asciigrid/),它使用 Svgbob 来渲染图表。[下面是原来的问题的图(https://mbarkhau.keybase.pub/asciigrid/#vvF;AOAOA;ECCCgAgAEBDAAAgAgAnAmAjAnlmrAAeEWETFhzgPyihipDiymSsPgAECCeDgUTEHPMFWETFkxgWCgAgAEizhmsDg0fCOFWHfCMOHViOBi6iAjcilkIgusDiRBECCCgAgAEAAECCeDvjnajjBhRmZkAlKDjbAAREWETFjMgzeDDAhNCTEHPMFAD-kEi0hAEAAEj9nYgABnFjMq2jMn7iAEBiMjGoXqFo7hADBiMjGuNh_CCeDgUTEHPMFWEJNFKiyAAZETFfEWgDgOCCEurhAglfCWHHLfCPh_k1nUyhqMhLBECCCgAgAE1cnZji) (2认同)

tkr*_*nwa 33

查看Emacs 的艺术家模式图片模式(另请参阅此截屏视频)。您可能还想查看ditaa

  • 是的,ditaa 是与 asciio 的完美结合。 (2认同)

Tho*_*hel 28

我找到了另一个答案;我不确定它是否完全可用,但请记住,GNU roff (groff) 有一个用于Pic 语言的处理器以及一个 ascii 后处理器;因此,您可以尝试类似的操作(如果您使用 Linux,则可能已经安装了所有内容)。编写一个名为 test.roff 的文件,其中包含:

.PS
box "box1";
line
box "box2";
.PE
Run Code Online (Sandbox Code Playgroud)

然后输入:groff -Tascii -p test.roff,你应该得到:

+------+     +------+
|      +-----|      |
| box1 |     |box2  |
+------+     +------+
Run Code Online (Sandbox Code Playgroud)

问候。


Tho*_*hel 22

也许你会对graph-easy感兴趣。

例子:

   echo "[ Bonn ] -- car --> [ Berlin ], [ Ulm ]" | graph-easy
Run Code Online (Sandbox Code Playgroud)

产生:

    +--------+  car   +-----+
    |  Bonn  | -----> | Ulm |
    +--------+        +-----+
      |
      | car
      v
    +--------+
    | Berlin |
    +--------+
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令安装它:

wget http://search.cpan.org/CPAN/authors/id/T/TE/TELS/graph/Graph-Easy-0.64.tar.gz
tar -xzf Graph-Easy-0.64.tar.gz
cd Graph-Easy-0.64
perl Makefile.PL
make test
sudo make install
PATH=$PATH:/opt/local/libexec/perl5.12/sitebin/graph-easy
Run Code Online (Sandbox Code Playgroud)

(注意最上面两行和最后一行的版本号——它们可能会改变)

lddotdothost的页面上提供了一些不错的屏幕截图(因为这两个工具都是 的包装器graph-easy)。

  • 看起来最新版本现在托管在 Github 上:https://github.com/ironcamel/Graph-Easy (3认同)
  • 我想这很像 Graphviz,但 Graphviz 没有 ASCII 输出,这是一种耻辱。 (2认同)