Создание диаграмм в ASCII

141

Я ищу программу, которую я могу использовать для создания диаграмм ASCII, таких как:

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

Это должен быть пакет, доступный в Debian . Замечательная диаграмма, показанная выше, взята из документации ядра Linux. Я не могу поверить, что они были созданы вручную. Должен быть какой-то инструмент для их создания.

Мартин Вегтер
источник
6
Вы можете рисовать диаграммы такого рода изнутри, vimиспользуя плагин DrawIt .
Дауд
12
«Я не могу поверить, что они были созданы вручную. Должен быть какой-то инструмент для их создания». Я легко могу поверить, что они были созданы вручную, особенно если вы работали, например, из эскиза или другого источника для диаграммы. Это не займет больше 5 минут.
Златовласка
2
Я могу легко поверить, что они были созданы вручную, потому что на самом деле их довольно легко сделать, если вы используете немного здравого смысла и сначала визуализируете это в своей голове. Конечно, это занимает несколько минут дольше, чем это было бы с Аскио или что-то в этом роде.
Майлз Рут

Ответы:

138

asciio

Я использовал Asciio в течение нескольких лет. Многие диаграммы на этом сайте я создал используя asciio.

пример

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

GUI выглядит следующим образом.

           сс асио

ПРИМЕЧАНИЕ: все управляется из контекстного меню, а также сочетаний клавиш.

Нарисуй это

Используя vimвместе с плагином DrawIt вы также можете создавать базовые диаграммы. Хороший обзор того, как установить и использовать его, доступен здесь в этой статье под названием: Как создавать ASCII-чертежи в редакторе Vim (рисовать прямоугольники, линии, эллипсы, стрелки внутри текстового файла) .

asciiflow

Есть веб-сайт под названием asciiflow, который, вероятно, является самым простым способом рисования диаграмм такого типа.

   сс # 2

Jave

Другой инструмент, JavE , написанный на Java, также может создавать диаграммы ascii.

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

GUI выглядит так:

   сс # 2

Ресурсы

SLM
источник
1
Вы можете добавить diiagrams.com, если хотите
I3ck
Установщик Windows для asciio по ссылке больше не работает. Установщик говорит, что получил ошибку 404, а затем прерывает работу. Я просто использовал вместо этого Asciiflow.
Joseph238
1
@ Joseph238 - спасибо за отзыв, учитывая, что это веб-сайт Unix & Linux, я не уверен, что большинство прохожих будут заботиться обо всем этом. Если вы столкнулись с ссылкой на него, пожалуйста, дайте нам знать.
SLM
2
Может быть, добавить примечание о: textik.com .
Исаак
27

Взгляните на режим исполнителя или режим изображения для Emacs (см. Также этот скринкаст ). Вы также можете проверить Дитаа .

tkrennwa
источник
+1 Re: "ditaa" Так что кто-то может сделать это вручную, чтобы они могли быть преобразованы в графический формат ...
Златовласка
2
Да, Дитаа - отличное сочетание с Аскио.
Мартейн Химельс
Ссылка на экран не работает.
18:20
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 :)
Шридхар Сарнобат
15

Может быть, вам будет интересен график легко .

Пример:

   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

(Обратите внимание на номера версий в двух верхних и последней строке - они могут измениться)

Некоторые хорошие скриншоты доступны на страницах lddot и dothost (потому что оба инструмента являются обертками для graph-easy).

Томас Барухель
источник
1
Похоже, что последняя версия теперь размещена на Github: github.com/ironcamel/Graph-Easy
Шридхар Сарнобат
1
Я думаю, что это работает так же, как Graphviz, но Graphviz не имеет вывода ASCII, что является позором.
Шридхар Сарнобат
graph-easy использует язык DOT, такой же, как Graphviz
ivarec
-1

Для тех, кто использует Mac (не оригинальный постер), есть очень хороший инструмент под названием Monodraw . Конечно, вы заплатите несколько баксов за то, что он очень отточен, мощен и интуитивен, но если вы часто этим занимаетесь, это удобный инструмент, который нужно иметь в наличии, и 10 долларов - это арахис по сравнению с тем временем, когда вы будете это делать. спасти. Если вы не делаете это часто, доступна бесплатная пробная версия, так что все готово. Может даже экспортировать в SVG

Нет, я не работаю в компании. Я просто счастливый пользователь.

иконоборец
источник