用ASCII创建图


141

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

    +---------+
    |         |                        +--------------+
    |   NFS   |--+                     |              |
    |         |  |                 +-->|   CacheFS    |
    +---------+  |   +----------+  |   |  /dev/hda5   |
                 |   |          |  |   +--------------+
    +---------+  +-->|          |  |
    |         |      |          |--+
    |   AFS   |----->| FS-Cache |
    |         |      |          |--+
    +---------+  +-->|          |  |
                 |   |          |  |   +--------------+
    +---------+  |   +----------+  |   |              |
    |         |  |                 +-->|  CacheFiles  |
    |  ISOFS  |--+                     |  /var/cache  |
    |         |                        +--------------+
    +---------+

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


6
您可以vim使用DrawIt插件从内部绘制这种图表。
dawud 2014年

12
“我不敢相信它们是手工创建的。必须有一些工具可以创建它们。” 我可以轻易地相信它们是手工创建的,特别是如果您是从草图或图表的其他来源工作的话。不会超过5分钟。
goldilocks 2014年

2
我可以很容易地相信它们是手工创建的,因为如果您使用一些常识并首先在您的脑海中将其可视化,它们实际上很容易做到。当然,它要比使用Asciio或其他方法花费几分钟的时间。
Miles Rout 2014年

Answers:


137

阿西奥

我已经使用asciio几年了。我使用创建的该网站上的许多图表asciio

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

GUI看起来像这样。

           社会科学

注意:一切均由右键单击菜单以及快捷键驱动。

画出来

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

流量

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

   SS#2

JavE

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

                                 ,'''''''''''''|
                                 | Controller  |
                                 |             |
                                 '`'i''''''''''
                                  ,'        `.
                                ,'            `.
                               -                -
                     ,'''''''''''''|      ,''''''''''''`.
                     |    Model    |______|    View     |
                     |             |      |             |
                      `''''''''''''       '`'''''''''''''

GUI如下所示:

   SS#2

资源资源


1
您可以根据需要添加diiagrams.com
I3ck

该链接的Windows安装程序asciio不再起作用。安装程序说它收到404错误,然后中止。我只是使用asciiflow。
Joseph238 '18

1
@ Joseph238-感谢您的反馈,因为这是Unix&Linux网站,所以我不确定大多数路人是否会这么在意。如果您遇到指向它的链接,请告诉我们。
slm

2
也许添加有关以下内容的注释:textik.com
艾萨克(Isaac)


24

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

.PS
box "box1";
line
box "box2";
.PE

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

+------+     +------+
|      +-----|      |
| box1 |     |box2  |
+------+     +------+

问候。


一个人可能想通过使用groff -Tlatin1 -P-c -P-b -P-u
mlt

groff已预先安装在Mac OS X上:)
Sridhar Sarnobat

15

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

例:

   echo "[ Bonn ] -- car --> [ Berlin ], [ Ulm ]" | graph-easy

产生:

    +--------+  car   +-----+
    |  Bonn  | -----> | Ulm |
    +--------+        +-----+
      |
      | car
      v
    +--------+
    | Berlin |
    +--------+

您可以使用以下命令进行安装:

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

(请注意最上面两行中的版本号-它们可能会更改)

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


1
看起来最新版本现在托管在Github上:github.com/ironcamel/Graph-Easy
Sridhar Sarnobat

1
我猜这很像Graphviz,但是Graphviz没有ASCII输出,这很可惜。
Sridhar Sarnobat

graph-easy使用DOT语言,与Graphviz相同
ivarec

-1

对于使用Mac(并非原始海报)的任何人,都有一个非常不错的工具,称为Monodraw。当然,您将为此付出几美元,因为它具有高度抛光,功能强大且直观的特点,但是如果您经常这样做,那么它是一个方便的工具,并且与您花费的时间相比,花生是10美元救。如果您不经常这样做,则可以免费试用,因此一切就绪。它甚至可以导出到SVG

不,我不为公司工作。我只是一个快乐的用户。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.