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 1 ist ein Beispiel eines einfachen Graphen mit drei Verknüpfungspunkten dargestellt.

Bild 1

Graph Nr. 1

1.2 Einsatz

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

Das obige Bild 1 habe ich mit Hilfe des Perl-Moduls „GraphViz.pm“ und dem Beispielskript „malmal“ aus dem Linux-Magazin 2002/09 erstellt.

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

Vor die Bequemlichkeit der Browserbedienung und problemlose Erreichbarkeit vielfältiger Informationen hat der Schöpfer aber die noch vielfältigeren Hürden der Software-Installation gestellt.

1.3 Download und Installation

1.3.1 graphviz-Programm

<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.1535137730.txt.gz · Zuletzt geändert: 2018/08/24 21:08 von Heiko Teichmeier