Tworzenie diagramów w ASCII


141

Szukam programu, którego mogę użyć do tworzenia diagramów ASCII, takich jak:

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

Powinien to być pakiet dostępny w Debianie . Wspaniały diagram pokazany powyżej pochodzi z dokumentacji jądra Linux. Nie mogę uwierzyć, że zostały stworzone ręcznie. Musi być jakieś narzędzie do ich utworzenia.


6
Możesz rysować tego rodzaju diagramy od wewnątrz vimza pomocą wtyczki DrawIt .
dawud

12
„Nie mogę uwierzyć, że zostały stworzone ręcznie. Musi być jakieś narzędzie do ich stworzenia”. Mogę łatwo uwierzyć, że zostały stworzone ręcznie, zwłaszcza jeśli pracujesz np. Ze szkicu lub innego źródła diagramu. Nie zajmie to więcej niż 5 minut.
złotowłosa

2
Mogę z łatwością uwierzyć, że zostały stworzone ręcznie, ponieważ są one dość łatwe do zrobienia, jeśli zastosujesz odrobinę zdrowego rozsądku i najpierw zwizualizujesz to w swojej głowie. Oczywiście zajmuje to kilka minut dłużej niż w przypadku Asciio lub czegoś takiego.
Miles Rout

Odpowiedzi:


137

asciio

Używam asciio od kilku lat. Wiele diagramów na tej stronie utworzyłem za pomocą asciio.

przykład

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

GUI wygląda tak.

           ss of asciio

UWAGA: Wszystko jest sterowane z menu po kliknięciu prawym przyciskiem, a także skrótów klawiszowych.

Narysuj to

Korzystając vimz wtyczki DrawIt możesz także tworzyć podstawowe diagramy. Dobry przegląd sposobu instalacji i używania jest dostępny tutaj w tym artykule zatytułowanym: Jak tworzyć rysunki ASCII w edytorze Vim (Rysuj pola, linie, elipsy, strzałki wewnątrz pliku tekstowego) .

asciiflow

Istnieje strona internetowa o nazwie asciiflow, która jest prawdopodobnie najłatwiejszym sposobem rysowania tego rodzaju diagramów.

   ss # 2

JavE

Kolejne narzędzie, JavE , napisane w Javie, które może również tworzyć takie diagramy ascii.

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

GUI wygląda następująco:

   ss # 2

Zasoby


1
Możesz dodać diiagrams.com, jeśli chcesz
I3ck

Instalator Windows dla asciio z linku już nie działa. Instalator twierdzi, że wystąpił błąd 404, a następnie przerywa działanie. Zamiast tego użyłem asciiflow.
Joseph238

1
@ Joseph238 - dzięki za opinie, biorąc pod uwagę, że jest to strona Unix i Linux, nie jestem pewien, czy większość przechodniów będzie się tym wszystkim przejmować. Jeśli znajdziesz link do niego, prosimy o informację.
slm

2
Może dodaj notatkę na temat: textik.com .
Izaak


24

Znalazłem inną odpowiedź; Nie jestem pewien, czy jest w pełni użyteczny, ale pamiętaj, że GNU roff (groff) ma procesor dla języka Pic, a także postprocesor ascii; dlatego możesz spróbować czegoś takiego (jeśli używasz Linuksa, prawdopodobnie wszystko powinno już być zainstalowane). Napisz plik o nazwie test.roff zawierający:

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

Następnie wpisz:, groff -Tascii -p test.roffa powinieneś otrzymać:

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

Pozdrowienia.


Można chcieć usunąć znaki kontrolne , używającgroff -Tlatin1 -P-c -P-b -P-u
mlt

groffjest wstępnie zainstalowany na Mac OS X :)
Sridhar Sarnobat

15

Być może zainteresuje Cię graf-easy .

Przykład:

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

produkuje:

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

Możesz zainstalować go za pomocą następujących poleceń:

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

(Uwaga numery wersji w dwóch najwyższych i ostatnim wierszu - mogą się zmienić)

Niektóre ładne zrzuty ekranu są dostępne na stronach lddot i dothost (ponieważ oba narzędzia są opakowaniami graph-easy).


1
Wygląda na to, że najnowsza wersja jest teraz hostowana na Github: github.com/ironcamel/Graph-Easy
Sridhar Sarnobat

1
Myślę, że to działa bardzo podobnie do Graphviz, ale Graphviz nie ma wyjścia ASCII, co jest wstydem.
Sridhar Sarnobat

graph-easy korzysta z języka DOT, takiego samego jak Graphviz
ivarec

-1

Każdy, kto korzysta z komputera Mac (nie oryginalnego plakatu), ma bardzo ładne narzędzie o nazwie Monodraw . Oczywiście zapłacisz kilka dolców za to, że jest bardzo dopracowany, wydajny i intuicyjny, ale jeśli robisz to często, to przydatne narzędzie jest dostępne, a 10 USD to orzeszki ziemne w porównaniu do czasu, który będziesz robił zapisać. Jeśli nie robisz tego często, dostępna jest bezpłatna wersja próbna, więc wszystko gotowe. Może nawet eksportować do SVG

Nie, nie pracuję dla firmy. Jestem tylko szczęśliwym użytkownikiem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.