Створення діаграм в ASCII


141

Я шукаю програму, яку я можу використовувати для створення таких діаграм ASCII:

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

Переважно це повинен бути пакет, доступний в Debian . Чудова діаграма, показана вище, взята з документації на ядро ​​Linux. Не можу повірити, що вони створені вручну. Для їх створення повинен бути якийсь інструмент.


6
Ви можете малювати подібні діаграми всередині, vimвикористовуючи плагін DrawIt .
dawud

12
"Не можу повірити, що вони створені вручну. Потрібно створити інструмент для їх створення". Я легко можу повірити, що вони були створені вручну, особливо якщо ви працювали, наприклад, за ескізом чи іншим джерелом для діаграми. Це не займе більше 5 хвилин.
goldilocks

2
Я можу досить легко повірити, що вони були створені вручну, тому що насправді це зробити досить просто, якщо ти спочатку використовуєш трохи здорового глузду і візуалізуєш це в голові. Звичайно, це займає на кілька хвилин довше, ніж це було б з Асьсіо чи чим-небудь.
Майлз Рут

Відповіді:


137

asciio

Я кілька років користувався asciio . Багато діаграм на цьому веб-сайті я створив за допомогою asciio.

приклад

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

GUI виглядає приблизно так.

           ss asciio

ПРИМІТКА: Все керується меню правою кнопкою миші, а також клавішами швидкого доступу.

DrawIt

Використання vimразом з DRAWIT плагіна ви можете створити базові діаграми. Хороший огляд того, як його встановити та використовувати, ви знайдете тут у цій статті під назвою: Як створити креслення ASCII в редакторі Vim (Малюйте поля, лінії, еліпси, стрілки всередині текстового файлу) .

asciiflow

Існує веб-сайт під назвою asciiflow, який, мабуть, найпростіший спосіб малювати такі типи діаграм.

   ss №2

JavE

Інший інструмент, JavE , написаний на Java, який також може створювати такі діаграми ascii.

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

Графічний інтерфейс виглядає приблизно так:

   ss №2

ресурси


1
Ви можете додати diiagrams.com, якщо хочете
I3ck

Установник Windows для asciio із посилання більше не працює. Інсталятор каже, що отримав помилку 404, а потім перервав. Я замість цього використовував asciiflow.
Йосиф238

1
@ Joseph238 - дякую за відгуки, враховуючи, що це веб-сайт Unix & Linux. Якщо ви натрапили на посилання на нього, будь ласка, повідомте нас.
slm

2
Можливо, додайте примітку про: textik.com .
Ісаак

27

Погляньте на режим виконавця чи режим зображення для Emacs (див. Також цей екран ). Ви також можете перевірити ditaa .


+1 Re: "ditaa". Тому хтось може зробити це вручну, щоб їх можна було перетворити на графічний формат ...
goldilocks

2
Так, дайта - це чудове поєднання з ассіо.
Martijn Heemels

Посилання на скріншот мертве.
jcubic

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

Ні, я не працюю в компанії. Я просто щасливий користувач.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.