Adnix.wordpress.com

It’s just the way… better

Archiwum dla Październik 20th, 2008

Język dot

z 2 uwagami

Język dot służy do opisywania schematów za pomocą tekstu. W dowolnym edytorze tekstu tworzymy plik, który później przy pomocy komendy dot -T(format pliku wyjściowego) plik.dot -o plik.(rozszerzenie) zostaje przekształcony na format graficzny.

Przeanalizujmy przykład:

digraph przyklad {
a->b;
a->c;
}

Otwieramy konsolę, przechodzimy do katalgu z plikiem przyklad.dot i wydajemy komendę:

dot -Tpng przyklad.dot -o przyklad.png

Istnieje również możliwość eksportu do innych formatów.

Efekt:

Spróbujmy teraz zmodyfikować powyższy schemat zastępując pola z tekstem innym kształtem niż elipsa.
Parametry konkretnego pola modyfikujemy poprzez podanie jego nazwy i parametrów w nawiasie kwadratowym np. a [parametr1=wartość1, parametr2=wartość2,...]

digraph przyklad2 {
a->b;
a [shape=box];
b [shape=diamond];
c [shape=triangle];
a->c;
}

Lista dostępnych kształtów klik.

Oczywiście język dot daje również możliwość zastosowania kolorów w grafach. Możemy modyfikować kolor ramki, kolor wypełnienia i kolor czcionki.

digraph przyklad2 {
a->b;
a [shape=box,color=red];
b [shape=diamond, style=filled, color=yellow];
c [shape=triangle, style=filled, color=green];
a->c;
}

Aby hurtowo zmienić parametry większej ilości bloków używamy polecenia node [parametr1=wartość1,...] przed zadeklarowaniem bloków.

Teraz pokombinujmy ze strzałkami. Do właściwości strzałki odwołujemy się poprzez umieszczenie parametrów w nawiasie kwadratowym za wskazaniem elementów, które łączy strzałka:

np a->b [opcja1=wartość1, opcja2=wartość2,...];

digraph przyklad3 {
a->b [style=dotted,arrowhead=dot, arrowtail=odot, style=bold, color=red];
a [shape=box];
b [shape=diamond];
c [shape=triangle];
a->c [label="opis strzałki"];
}

style – rodzaj linii, arrowhead – rodzaj grotu klik, arrowtail- ogon strzałki, color – klik

Efekt:

W ten sposób określamy parametry konkretnej strzałki. Aby zmienić parametry większej ilości strzałek podobnie jak w przypadku bloków używamy komendy edge [parametr1=wartość1,...,...].

Ciekawą i niezwykle wygodną opcją jest możliwość eksportowania do plików programów Inkscape i Dia, gdzie możemy je dowolnie modyfikować. Czasami jednak po stworzeniu grafu w formacie jpg lub png jest on trochę za mały do niektórych zastosowań. Przydałaby się opcja tworzenia pliku wyjściowego w większej skali. Chyba, że przeoczyłem.

Trzeba przyznać, że przy uzyskaniu pewnej wprawy w tworzeniu grafów w ten sposób można zaoszczędzić sporo czasu i nerwów przy rysowaniu ich w dowolnym programie graficznym.

Post ten jest zawiera jedynie ułamek możliwości, które oferuje język dot. Więcej informacji znajduje się na stronie domowej programu.

Written by adnix

poniedziałek, Październik 20, 2008 at 10:51 pm

Napisane w ALL

Tagi:

Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.