Graphviz

  • Creatore
    Topic
  • #65640
    Up
    0
    Down
    ::


    Ciao,

    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

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #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

      • #65642
        Up
        0
        Down
        ::

        robitex” post=64752
        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

        Beh.. in effetti mi è stato citato soltanto ieri quindi ora vorrei imparare ad utilizzarlo correttamente (o meglio cominciare ad utilizzarlo 😀 ). La prima impressione è ottima, le potenzialità si vedono subito, forse la pecca è l’installazione (almeno io su ubuntu ho dovuto installare molte librerie che di default non si hanno – da quel punto di vista usare direttamente TikZ è meglio). Poi ovviamente dipende da cosa si deve fare…

        Per l’articolo… beh sarebbe molto interessante: ci penserò, promesso :wink:.

        Ciao
        Claudio

      • #65643
        Up
        0
        Down
        ::


        Ciao,

        riprendo il post per segnalare un paio di cose.

        La prima è che utilizzando direttamente il pacchetto dot2texi non ottengo nessun risultato; ho provato a compilare con LaTeX e pdfLaTeX l’esempio base, ma ricevo sempre (per entrambi i compilatori) un errore in corrispondenza della riga di apertura dell’ambiente dot2tex:

        `
        ! Undefined control sequence.
        \dottotexverbatimwrite … \openout \verbatim@out
        #1 \BeforeStream \let \do …
        l.50 \begin{dot2tex}[neato,options=-tmath]

        `

        Naturalmente ho installato tutto come si deve :wink:. Infatti, a parte dot2texi, con un minimo di pazienza e l’ausilio del terminale si può benissimo disegnare grafi in dot ed esportarli in Tikz/PGF. A tale proposito ho realizzato una piccola presentazione in cui si spiega cosa è necessario installare, come utilizzare il software e, molto brevemente, pro e contro di dot2tex. La presentazione è disponibile in due temi beamer (perdonate l’accostamento dei colori :P) ai seguenti indirizzi web:

        Ciao
        Claudio

      • #65644
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          cfiandra” post=66197Ciao,

          riprendo il post per segnalare un paio di cose.

          La prima è che utilizzando direttamente il pacchetto dot2texi non ottengo nessun risultato; ho provato a compilare con LaTeX e pdfLaTeX l’esempio base, ma ricevo sempre (per entrambi i compilatori) un errore in corrispondenza della riga di apertura dell’ambiente dot2tex:

          `
          ! Undefined control sequence.
          \dottotexverbatimwrite … \openout \verbatim@out
          #1 \BeforeStream \let \do …
          l.50 \begin{dot2tex}[neato,options=-tmath]

          `

          Naturalmente ho installato tutto come si deve :wink:. Infatti, a parte dot2texi, con un minimo di pazienza e l’ausilio del terminale si può benissimo disegnare grafi in dot ed esportarli in Tikz/PGF. A tale proposito ho realizzato una piccola presentazione in cui si spiega cosa è necessario installare, come utilizzare il software e, molto brevemente, pro e contro di dot2tex. La presentazione è disponibile in due temi beamer (perdonate l’accostamento dei colori :P) ai seguenti indirizzi web:

          Ciao
          Claudio

          Bel lavoro Claudio!
          Mi ha fatto pensare ad un modo di distribuire la documentazione su TeX & C. …
          A presto e grazie.
          R.

      Visualizzazione 3 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top