Re: Graphviz

#65641
robitex
Amministratore del forum
    Up
    0
    Down
    ::

    cfiandra” post=64746Ciao,

    ho sempre utilizzato TikZ per i disegni e quando si è trattato di disegnare catene di Markov ho semplicemente cercato nel pgfmanual e trovato una soluzione soddisfacente. Ad esempio:

    `
    \begin{tikzpicture}[-latex,auto,node distance=4cm,on grid,semithick,
    state/.style={circle,top color=white, bottom color=navyblue!40,draw=none,circular drop shadow,text=blue,minimum width=1cm}
    ]
    \node[state] (A) {A};
    \node[state] (B) [below left of=A] {B};
    \node[state] (C) [below right of=A] {C};
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \path (A) edge [loop above] node{1/3} (A);
    \path (A) edge [bend left=15] node{2/3} (B);
    \path (B) edge [loop below] node{2/3} (B);
    \path (B) edge [bend left=15] node{1/9} (A);
    \path (B) edge [bend left=15] node{2/9} (C);
    \path (C) edge [loop below] node{2/3} (C);
    \path (C) edge [bend left=15] node{2/3} (B);
    \path (C) edge [bend right=15] node{1/9} (A);
    \end{tikzpicture}
    `

    Recentemente mi è stato consigliato di provare Graphviz: è una libreria pensata e realizzata esclusivamente per grafi. All’inizio ero dubbioso: qualità dell’immagine, font sono perfetti con TikZ. Ma il grande vantaggio di Graphviz è un codice più immediato (certo anche nel mio esempio usando i foreach si fa prima :-)): andando più a fondo nella questione ho magicamente scoperto dot2texi un pacchetto (presente in TeXLive) che permette di utilizzare codice dot ottenendo la solita qualità grafica di TikZ. La pagina principale del pacchetto è curata molto bene.

    Graphviz (si può scaricare da questo link) è disponibile su Mac, Linux e Windows. A beneficio di chi deve disegnare grafi ecco un esempio tratto dal sito:

    `
    \usepackage{dot2texi}
    \usepackage{tikz}
    \usetikzlibrary{shapes,arrows}

    \begin{document}
    \begin{dot2tex}[neato,options=-tmath]
    digraph G {
    node [shape=”circle”];
    a_1 -> a_2 -> a_3 -> a_4 -> a_1;
    }
    \end{dot2tex}
    `

    Per poter usare dot2texi sono necessari alcuni step preliminari:

    Ciao,
    Claudio

    Ciao,
    graphviz è interessante. Ne aveva parlato su ArsTeXnica Luigi Scarso in questo articolo.

    Esiste anche un libreria in Lua direttamente utilizzabile in LuaTeX (penso).
    Ma la cosa che ti volevo dire più importante è questa: perché non ne ricavi un articolo per Ars sull’argomento?
    La redazione di Ars è a tua disposizione …
    Link redazione
    Bye

    Go to top