Benutzer-Werkzeuge

Webseiten-Werkzeuge


heiko:tipps:hilfsprogramme:tipp_graphviz_01

Dies ist eine alte Version des Dokuments!


GraphViz - dynamische Erstellung von Graphen

letzte inhaltliche Überarbeitung: 01.01.2008

1. GraphViz - Teil 1

1.1 Beschreibung

GraphViz ist ein Programmpaket mit dem man dynamisch Graphen aus Beschreibungen in Textform erstellen kann. Es steht unter der GPL - ist also frei verwendbar, im Sourcecode erhältlich und durch eigene Eingriffe veränderbar.

Ein „Graph“ ist die bildliche Darstellung eines Sachverhaltes in Form von Verknüpfungs- oder Verzweigungspunkten und Linien, die die Beziehungen innerhalb des Sachverhaltes darstellen. In Bild ist ein Beispiel eines einfachen Graphen mit drei Verknüpfungspunkten dargestellt.

<a name=„bild_1“><img src=„picture/malmal_01.png“ width=„345“ height=„182“ align=„middle“ vspace=„3“ alt=„'Graph Nr. 1', 1,3 kB“></a>

    <br><b>Bild 1</b>
    <h3><a name="einsatz">1.2 Einsatz</a></h3>

<p>

    Mit diesem Programm kann man u.a. Ablaufdiagramme, Organigramme und viele andere
    Sachverhalte darstellen. Eine Grenze wird nur durch das eigene Vorstellungsverm&ouml;gen
    und die Zeit sich mit dem Programm und seinen M&ouml;glichkeiten auseinanderzusetzen
    gesetzt.

</p> <p>

    Das obige <a href="#bild_1"><b>Bild [1]</b></a> habe ich mit Hilfe des Perl-Moduls
    <i>"GraphViz.pm"</i> und dem Beispielskript <i>"malmal"</i> aus dem
    <a href="http://www.linux-magazin.de/Artikel/ausgabe/2002/09/perl/perl.html" target="links" onclick="FensterNeu('http://www.linux-magazin.de/Artikel/ausgabe/2002/09/perl/perl.html','tips',1)" title="www.linux-magazin.de">Linux-Magazin 2002/09</a> erstellt.

</p> <p>

    Der Einsatz des Programms mit dem Perl-Modul ist der Antrieb f&uuml;r mein Interesse. Ich kann
    mir z.B. vorstellen einmal einen elektrischen &Uuml;bersichtsschaltplan dynamisch aus
    Eintr&auml;gen in einer
    SQL-Datenbank erzeugen zu lassen. Alles ist &uuml;ber einen normalen Browser bedienbar und
    l&auml;uft im Intranet auf einem (Linux-)Web-Server.

</p> <p>

    Vor die Bequemlichkeit der Browserbedienung und problemlose Erreichbarkeit vielf&auml;ltiger
    Informationen hat der Sch&ouml;pfer aber die noch vielf&auml;ltigeren H&uuml;rden der
    Software-Installation gestellt.

</p>

    <h3><a name="download">1.3 Download und Installation</a></h3>
    <h4><a name="install_graphviz">1.3.1 graphviz-Programm</a></h4>

<p>

    Das Programmpaket GraphViz l&auml;dt man am besten von
    <a href="http://www.graphviz.org" target="links" onclick="FensterNeu('http://www.graphviz.org','tips',1)" title="www.graphviz.org">www.graphviz.org</a>
    herunter. Im Unterverzeichnis <i>"pub/GraphViz/ARCHIVE/"</i> findet man die Binarys und
    Sourcen f&uuml;r verschiedene Plattformen und Betriebssysteme.

</p> <p>

    Ich habe <i>"graphviz-1.10-1"</i> als <i>rpm</i> heruntergeladen und mit dem &uuml;blichen:

<pre class=„code“> rpm -ihv graphviz-1.10-1.i386.rpm </pre>

    installiert. Bei meinem <i>SuSE 8.1</i> gab es bis hierher keine Probleme.

</p>

    <h4><a name="install_graphviz_pm">1.3.1 GraphViz.pm - PerlModul</a></h4>

<p>

    Um dynamische Graphen vom Web- oder Intranetserver erstellen zu lassen, ben&ouml;tigt man
    das Perl-CPAN-Modul <i>GraphViz.pm</i>. Dieses versuchte ich mit folgendem Befehl von
    CPAN herunterzuladen und zu installieren:

<pre class=„code“> perl -MCPAN -e'install GraphViz' </pre>

    Leider kam nach dem Herunterladen und Aktualisieren meines CPAN und einiger anderer
    CPAN-Module am Ende eine Fehlermeldung, dass <i>IPC::Run.pm</i> nicht zu finden oder
    zu verwenden war.

</p> <p>

    Mit einem k&uuml;hnen

<pre class=„code“> perl -MCPAN -e'install IPC::Run.pm' </pre>

    versuchte ich das Problem auszumerzen - leider ohne Erfolg. Mein Perl lud alles herunter
    und kompilierte aber die Installation schlug fehl.

</p> <p>

    Daraufhin suchte ich unter <i><b>/root/.cpan/build</b></i> das Verzeichnis
    <i><b>IPC-Run-0.77</b></i>. Hier lagen unter <i><b>lib</b></i> schon die kompilierten
    Dateien wie sie in das Perl-Verzeichnis (bei mir /usr/lib/perl5/5.0.8) kopiert werden
    sollten.

</p> <p>

    Ich kopierte das <i><b>Verzeichnis "IPC"</b></i> mit allen Unterverzeichnissen und
    Dateien in das <i>Perl-Verzeichnis</i> - voila - schon gelang auch die Installation des
    <i>GraphViz.pm-Moduls</i> wie oben schon einmal versucht.

</p>

    <h3><a name="test">1.4 Erster Test</a></h3>

<p>

    Es war an der Zeit f&uuml;r einen ersten Funktionstest. Dazu kopierte ich das oben
    heruntergeladenen Perl-Script <i>"malmal"</i> in das <i>cgi-bin</i>-Verzeichnis meines
    Intranet-Servers, passte den User und die Gruppe an und machte es ausf&uuml;hrbar.

</p> <p>

    Der Aufruf von

<pre class=„code“> [mein-server]/cgi-bin/malmal </pre>

    im Browser brachte gleich beim ersten Mal ein positives Ergebnis in Form eines
    HTML-Formulars wie es nachfolgend in <a href="#bild_2"><b>Bild [2]</b></a> dargestellt
    ist.

</p>

    <a name="bild_2"><img src="picture/scrshot_malmal_01.png" width="450" height="259" align="middle" vspace="3" alt="'HTML-Formular malmal_01', 8 kB"></a>
    <br><b>Bild 2</b>

<p>

    Nach einem Klick auf den <i><b>Zeichnen-Button</b></i> wird das Fenster
    (<a href="#bild_3"><b>Bild [3]</b></a>) neu aufgebaut.
    Im oberen Teil wird der Graph, entsprechend der Angaben im Textfeld darunter, erstellt.
    In Form einer <i>png-Grafik</i> ist er in die HTML-Seite eingebunden und kann
    durch einen Rechtsklick und <i><b>"Grafik speichern ..."</b></i> als Grafik-Datei
    dauerhaft gespeichert werden.

</p>

    <a name="bild_3"><img src="picture/scrshot_malmal_02.png" width="450" height="274" align="middle" vspace="3" alt="'HTML-Formular malmal_02', 10,6 kB"></a>
    <br><b>Bild 3</b>

<p>

    Der am Anfang dieser Seite gezeigte Graph (<a href="#bild_1"><b>Bild [1]</b></a>) wurde
    durch Eingabe folgender Angaben in das Textfeld erzeugt:

<pre class=„code“> 1 Erster Knoten 2 Zweiter Knoten 3 Knoten Nr. 3 1>2 Kante von Eins nach Zwei 1>3 Kante von Eins nach Drei </pre> </p> <p>

    Jetzt beginnt die Arbeit erst richtig. Ich muss mich mit dem Perl-Skript besch&auml;ftigen
    und lernen die vielen verschiedenen Optionen zu verwenden wie:
    <ul>
        <li>andere Schriftarten, Farben und St&auml;rken</li>
        <li>andere Linienarten und -farben</li>
        <li>andere geometrische Figuren</li>
        <li>und, und, und ...</li>
    </ul>

</p> <p>

    To be continued ...<br>

</p>

heiko/tipps/hilfsprogramme/tipp_graphviz_01.1535136216.txt.gz · Zuletzt geändert: 2018/08/24 20:43 von Heiko Teichmeier