graphViz

  • Questo topic ha 14 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 13 anni fa da cfiandra.
  • Creatore
    Topic
  • #77847
    claudio
    Partecipante
      Up
      0
      Down
      ::


      Ho letto da poco il bel aticolo di Claudio Fiandrino su arsTexnica sul’uso di GraphViz per la generazione di grafici ho girato un po internet e mi sono imbattuto in questo sito pieno di esempi
      galleria
      saluti
      claudio

    Visualizzazione 13 filoni di risposte
    • Autore
      Risposte
      • #77848
        Up
        0
        Down
        ::


        serve per creare grafici. il formato di uscita è il .dot e non altri formati immagini
        questo vuol dire che deve essere convertito per essere visualizzato .
        inoltre su windows non vengono riconosciuti i colori .
        si può lavorare anche a livello di codice … non so quanto sia consigliato… io , personalmente, uso i software free per le mappe concettuali e esporto in .jpg o .png

      • #77849
        Up
        0
        Down
        ::

        Dr Spencer Reid” post=76989serve per creare grafici. il formato di uscita è il .dot e non altri formati immagini
        questo vuol dire che deve essere convertito per essere visualizzato .

        Serve per creare grafi: ci avevo lavorato esclusivamente su Linux e so che esistono appositi editor per visualizzare il risultato a partire dal codice [tt].dot[/tt] (http://www.graphviz.org/Resources.php).

        Dr Spencer Reid” post=76989
        inoltre su windows non vengono riconosciuti i colori .
        si può lavorare anche a livello di codice … non so quanto sia consigliato… io , personalmente, uso i software free per le mappe concettuali e esporto in .jpg o .png

        Neanche io so quanto sia consigliato: se serve lo si usa. 😉 In ogni caso Graphviz non è equiparabile a un software per creare mappe concettuali (freemind è perfetto per quel compito e, per restare in tema LaTeX anche TikZ va benissimo – giusto una referenza http://tex.stackexchange.com/questions/58249/how-to-shade-mindmap-concepts). Graphviz è usato in ricerca, in ambiti piuttosto trasversali, per simulazioni di grafi anche di grandi dimensioni: in effetti è proprio utile in questo caso perché la semplicità di sintassi permette in modo banale di creare uno script che crei il grafo desiderato. Questo esempio, invece, http://www.flickr.com/photos/kentbye/1156412182/in/set-72157601523153827, preso dalla galleria che ha illustrato claudio, rappresenta una architettura di rete non bloccante. Non fa solo mappe concettuali quindi…

        Ciao
        Claudio

      • #77850
        Up
        0
        Down
        ::


        io l’ho usato proprio per creare grafi di simulazioni di reti e sistemi complessi: davvero un ottimo strumento.
        però , se deve essere usato per creare grafi, intesi come nodi connessi da archi, in quel caso io userei i software di mindmap (vari) perchè alla fine l’importante è definire nodi e archi 🙂

      • #77851
        claudio
        Partecipante
          Up
          0
          Down
          ::


          un grafo è un grafo
          e poi io uso le mappe concettuli e non quelle mentali 🙂
          Le mappe a gelatina di tikz per rappresentare le mappe mentali non mi piacciono
          per le mappe uso comatools che ha il difetto di produrre pdf
          e non mi va di perdere il tempo a scalare immafgini ed importarle
          tikz è meglio ma voglio il tikz semplice e non quello gommoso 🙂
          vi propongo due figure uguali ma non proprio 🙂
          L’italiano non fiila e neanche la matematica ma rende l’idea:)
          compliate con –shell-escape
          attivato

          `
          \documentclass{article}
          \usepackage{dot2texi}

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

          \begin{document}
          \begin{dot2tex}[dot,options=-tmath]
          digraph G{
          size=”6,0″;
          rankdir=”LR”;
          1[texlbl=”Numeri relativi”]
          2 [texlbl=”Segni”]
          3 [texlbl=”Segni uguale”]
          4 [texlbl=”Segni diversi”]
          5 [texlbl=”Concordi”]
          6 [texlbl=”Discordi”]
          7 [texlbl=”Opposti”]
          8 [texlbl=”Moduli”]
          9 [texlbl=”Uguali”]

          1->2[style=bold,labelfloat= true, label = ” hanno”]
          2->3 [style=bold,labelfloat= true,label = ” hanno”]
          2->4 [style=bold,labelfloat= true,label = ” hanno”]
          3->5[style=bold,labelfloat= true,label = “sono”]
          4->6[style=bold,labelfloat= true,label = “sono”]
          4->7[style=bold,labelfloat= true,label = “sono”]
          1->8 [style=bold,labelfloat= true,label = ” hanno”]
          8->9[style=bold,labelfloat= true,label = “sono”]
          9->7[style=bold,labelfloat= true,label = “sono”];
          }
          \end{dot2tex}

          \pagestyle{empty}
          %
          %
          %

          \enlargethispage{100cm}
          % Start of code
          \begin{tikzpicture}[>=latex',line join=bevel,]
          %%
          \node (1) at (27bp,48bp) [draw,ellipse] {Numeri relativi};
          \node (3) at (211bp,126bp) [draw,ellipse] {Segni uguale};
          \node (2) at (119bp,72bp) [draw,ellipse] {Segni};
          \node (5) at (303bp,126bp) [draw,ellipse] {Concordi};
          \node (4) at (211bp,72bp) [draw,ellipse] {Segni diversi};
          \node (7) at (303bp,18bp) [draw,ellipse] {Opposti};
          \node (6) at (303bp,72bp) [draw,ellipse] {Discordi};
          \node (9) at (211bp,18bp) [draw,ellipse] {Uguali};
          \node (8) at (119bp,18bp) [draw,ellipse] {Moduli};
          \draw [->,very thick] (2) ..controls (151.83bp,91.096bp) and (167.91bp,100.75bp) .. (3);
          \definecolor{strokecol}{rgb}{0.0,0.0,0.0};
          \pgfsetstrokecolor{strokecol}
          \draw (165bp,106.5bp) node { hanno};
          \draw [->,very thick] (4) ..controls (243.83bp,52.904bp) and (259.91bp,43.254bp) .. (7);
          \draw (257bp,52.5bp) node {sono};
          \draw [->,very thick] (8) ..controls (154.63bp,18bp) and (164.36bp,18bp) .. (9);
          \draw (165bp,25.5bp) node {sono};
          \draw [->,very thick] (4) ..controls (246.63bp,72bp) and (256.36bp,72bp) .. (6);
          \draw (257bp,79.5bp) node {sono};
          \draw [->,very thick] (1) ..controls (61.775bp,36.742bp) and (73.781bp,32.74bp) .. (8);
          \draw (73bp,40.5bp) node { hanno};
          \draw [->,very thick] (9) ..controls (246.63bp,18bp) and (256.36bp,18bp) .. (7);
          \draw (257bp,25.5bp) node {sono};
          \draw [->,very thick] (1) ..controls (62.295bp,57.145bp) and (73.604bp,60.161bp) .. (2);
          \draw (73bp,67.5bp) node { hanno};
          \draw [->,very thick] (3) ..controls (246.63bp,126bp) and (256.36bp,126bp) .. (5);
          \draw (257bp,133.5bp) node {sono};
          \draw [->,very thick] (2) ..controls (154.63bp,72bp) and (164.36bp,72bp) .. (4);
          \draw (165bp,79.5bp) node { hanno};
          %
          \end{tikzpicture}

          \end{document}
          `

          edit

          su winwdos funziona funziona 🙂
          dot2tex va alla grande
          anzi è posisibile trasformarlo in un exe

        • #77852
          Up
          0
          Down
          ::


          a me graphViz funziona solo che , sia su macos che windows, visualizza i grafi in bianco e nero e non a colori… grande pecca…

        • #77853
          Up
          0
          Down
          ::

          Dr Spencer Reid” post=76996a me graphViz funziona solo che , sia su macos che windows, visualizza i grafi in bianco e nero e non a colori… grande pecca…

          Prova con questo esempio:

          `
          digraph G {
          node [ style =” fill = green !20″];
          1 – >2 [ label =”1/2″];
          2 – >3 [ label =”1/2″];
          3 – >1 [ label =”1/2″];
          3 [ shape = rectangle ,
          style =” fill = cyan !20 , draw = blue “]
          }
          `
          Onestamente a me pare molto strano questo comportamento perché il programma è multipiattaforma. Magari non hai installato bene…

          claudio” post=76995 […] compliate con –shell-escape attivato

          Vero funziona!!!! 🙂 Probabilmente è stato sistemato il problema che causava l’errore in fase di compilazione di cui si accenna nell’articolo.

          Ciao
          Claudio

        • #77854
          Up
          0
          Down
          ::


          mah non so… anche su mac os dava questo problema, solo linux visualizzava i colori.
          ovviamente parlo per lo più, sono onesto, di grafici creati in formato .dot da un terzo programma che si appoggiava su grapViz, un programma per la simulazione

        • #77855
          claudio
          Partecipante
            Up
            0
            Down
            ::

            cfiandra” post=76997

            a me graphViz funziona solo che , sia su macos che windows, visualizza i grafi in bianco e nero e non a colori… grande pecca…

            Prova con questo esempio:

            `
            digraph G {
            node [ style =” fill = green !20″];
            1 – >2 [ label =”1/2″];
            2 – >3 [ label =”1/2″];
            3 – >1 [ label =”1/2″];
            3 [ shape = rectangle ,
            style =” fill = cyan !20 , draw = blue “]
            }
            `
            Onestamente a me pare molto strano questo comportamento perché il programma è multipiattaforma. Magari non hai installato bene…

            claudio” post=76995 […] compliate con –shell-escape attivato

            Vero funziona!!!! 🙂 Probabilmente è stato sistemato il problema che causava l’errore in fase di compilazione di cui si accenna nell’articolo.

            Ciao
            Claudio

            mentre non funziona con –enable-write18 😛

            ciao
            claudio

          • #77856
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              [tt]-shell-escape[/tt] è per TeX Live e MacTeX; [tt]–enable-write18[/tt] è per MiKTeX.

            • #77857
              claudio
              Partecipante
                Up
                0
                Down
                ::

                OldClaudio” post=77011[tt]-shell-escape[/tt] è per TeX Live e MacTeX; [tt]–enable-write18[/tt] è per MiKTeX.

                siamo OT ma texlive scrive cosi

                This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/W32TeX) (format=pdflatex 2012.8.28) 1 SEP 2012 09:32
                entering extended mode
                restricted \write18 enabled.
                %&-line parsing enabled.

                come mai?
                ciao
                claudio

              • #77858
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Mica tanto OT — quello che viene scritt nel file log è per gli umani; quello che ho detto io è come far funzionare pdflatex direttamente dalla finestra comandi, oppure dalla linea di comando generata internamente dallo shell editor grazie alle impostazioni dategli. Il mio TeXshop ha la seguente linea di comando dell’editor:
                  `
                  pdflatex –file-line-error –shell-escape –synctex=1
                  `
                  Gli altri shell edito come Texmaker, TeXworks, TeXstudio, Kile, eccetera, hanno linee di comando del tutto simili, tranne che la versione di pdftex distribuita con MiKTeX richiede una forma leggermente diversa. Ma l’opzione al comando è adatta alla macchina; quella del file log è adatta agli umani.

                  Tuttinoi, quando parliamo di “shell escape” (uscita verso la shell) generalmente ci riferiamo a TeXLive e derivati; siccome TeXLive esiste anche per le macchine Windows, direi che copriamo la maggioranza delle richieste; direi, però, che in qualunque guida c’è scritto che per attivare l’ “unrestricted shell escape” [necessario per attivare i programmi della macchina attivabili dal terminale (altri programmi, perfettamente in topic)], bisogna farlo secondo le specificità delle distribuzioni del sistema TeX e degli shelll editor.

                • #77859
                  Up
                  0
                  Down
                  ::


                  Ciao a tutti,

                  segnalo che dopo aver aggiornato questa mattina TeXLive ho scoperto il nuovo pacchetto graphviz.

                  Senza fare troppi giri di parole, temo che il pacchetto sia di scarsa utilità. Leggendo la documentazione, si nota che vengono definiti due comandi, [tt]\digraph[/tt] e [tt]\neato[/tt] che sostanzialmente utilizzano gli algoritmi dot e neato di GraphViz per posizionare i nodi (e ovviamente ci si chiede: se voglio l’algoritmo circoto?). Per includere codice TeX, si legge, si utilizza il pacchetto psfrag, scelta che onestamente mi lascia perplesso come mi lascia perplesso che si consigli la compilazione:`
                  latex -shell-escape main.tex
                  latex main.tex
                  ` senza accennare minimamente a cosa dovrebbe fare chi, per esempio, vuole usare pdflatex. Oltretutto serve una doppia compilazione, cosa del tutto evitabile con il pacchetto [tt]dot2texi[/tt].

                  La segnalazione mi sembra doverosa per mantenere aggiornato lo stato dell’arte in materia, ma personalmente credo non utilizzerò questo pacchetto in caso di necessità.

                  Ciao
                  Claudio

                • #77860
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Claudio, avevo già visto questo aggiornamento e trovo che l’autore l’abbia messo in rete, giusto per lasciare che altri potessero usarlo, se lo volessero. Per me è un residuato bellico, tutt’altro che aggiornato e che ignora completamente le maggiori possibilità di TikZ, anzi, ne ignore l’esistenza.

                    Con questo non voglio dire che sia vietato installare pacchetti obsoleti fin dalla nascita; né che il TL team debba occuparsi di vedere che cosa contiene ogni pacchetto (eppure ce ne sono tanti che potrebbero essere trasferiti tout court nella cartella obsolete di CTAN e non venire distribuiti con TL).

                    Questo graphViz mi ha deluso profondamente, non tanto perché sia poco utile, ma perché ci sono persone che contribuiscono materiale a CTAN senza aggiornarsi delle cose che negli anni sono state create. Non dico che tutti debbano usare il linguaggio Le, oggi che è disponibile, ma almeno si potrebbe evitare di caricare pacchetti che non aggiungono niente alle funzionalità già disponibili con altri pacchetti.

                  • #77861
                    Up
                    0
                    Down
                    ::

                    OldClaudio” post=87944Per me è un residuato bellico, tutt’altro che aggiornato e che ignora completamente le maggiori possibilità di TikZ, anzi, ne ignore l’esistenza.

                    Ne ho ricavato la medesima impressione.

                    OldClaudio” post=87944
                    Questo graphViz mi ha deluso profondamente, non tanto perché sia poco utile, ma perché ci sono persone che contribuiscono materiale a CTAN senza aggiornarsi delle cose che negli anni sono state create. Non dico che tutti debbano usare il linguaggio Le, oggi che è disponibile, ma almeno si potrebbe evitare di caricare pacchetti che non aggiungono niente alle funzionalità già disponibili con altri pacchetti.

                    Vero! E, aggiungo alla lista le persone che documentano male il proprio lavoro. Sempre questa mattina ho notato un altro pacchetto nuovo di zecca [tt]neuralnetwork[/tt]. Visto che lavoro quotidianamente con le reti ci ho dato un’occhiata: con texdoc neuralnetwork si apre una singola immagine 😐 Sono andato quindi su http://www.ctan.org/pkg/neuralnetwork: quella spacciata per Documentation in realtà è una specie di draft con tanto di “TODO” e “proof to be added”; se invece si accede ai vari file che compongono il pacchetto dal CTAN path, alla voce examples ci sono due esempi “semplici”. Per carità, uno può ricavare da lì le informazioni, ma il pacchetto fa uso di [tt]xkeyval[/tt] per un’interfaccia chiave-valore: il povero utente deve leggersi il sorgente per capire cosa imposta cosa. E non faccio disquisizioni sul codice!

                    Intervento decisamente OT questo, ma non sono proprio riuscito a trattenermi 😀

                    Ciao
                    Claudio

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

                Go to top