Partnerlinks:
Google

www.linux-club.de/ sehr aktives und kompetentes Board m. Fragen u. Antworten rund um Linux  |  www.linux-board.de/ privates Board m. Fragen u. Antworten rund um Linux  |  meybohm bei viando.de gute Tools - u.a. "Phase 5 / HTML Editor" mein Lieblings-HTML-Editor und "Proton" - guter Texteditor www.meybohm.de  |  Wunsch-Domain schon belegt? Hier finden Sie sie trotzdem!   |  Webhosting beim Testsieger 2007. www.greatnet.de  | 
Host Europe - World Class Internet Hosting
 

  Ein Pinguin-Logo    
news About Me linux referenz tips links downloads kontakt
 
News
About
Linux
Referenz
Tips
  Linux
  Sicherheit
  Perl
  Allround Server
  Fileserver Samba
  HTTP-Server
  Zope-Server
  SQL-Server
  Mail-Server
  Proxy_Server
  FAX-Server
  Netzwerk-Tools
  SMS-Tools
  Postscript
  MS Office
Links
Downloads
Kontakt

Besucher
seit 21.10.2002
 
Mein Gästebuch
 

GraphViz - dynamische Erstellung von Graphen

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.

'Graph Nr. 1', 1,3 kB
Bild 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

Das Programmpaket GraphViz lädt man am besten von www.graphviz.org herunter. Im Unterverzeichnis "pub/GraphViz/ARCHIVE/" findet man die Binarys und Sourcen für verschiedene Plattformen und Betriebssysteme.

Ich habe "graphviz-1.10-1" als rpm heruntergeladen und mit dem üblichen:

rpm -ihv graphviz-1.10-1.i386.rpm
installiert. Bei meinem SuSE 8.1 gab es bis hierher keine Probleme.

1.3.1 GraphViz.pm - PerlModul

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

perl -MCPAN -e'install GraphViz'
Leider kam nach dem Herunterladen und Aktualisieren meines CPAN und einiger anderer CPAN-Module am Ende eine Fehlermeldung, dass IPC::Run.pm nicht zu finden oder zu verwenden war.

Mit einem kühnen

perl -MCPAN -e'install IPC::Run.pm'
versuchte ich das Problem auszumerzen - leider ohne Erfolg. Mein Perl lud alles herunter und kompilierte aber die Installation schlug fehl.

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

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

1.4 Erster Test

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

Der Aufruf von

[mein-server]/cgi-bin/malmal
im Browser brachte gleich beim ersten Mal ein positives Ergebnis in Form eines HTML-Formulars wie es nachfolgend in Bild [2] dargestellt ist.

'HTML-Formular malmal_01', 8 kB
Bild 2

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

'HTML-Formular malmal_02', 10,6 kB
Bild 3

Der am Anfang dieser Seite gezeigte Graph (Bild [1]) wurde durch Eingabe folgender Angaben in das Textfeld erzeugt:

1    Erster Knoten
2    Zweiter Knoten
3    Knoten Nr. 3
1>2 Kante von Eins nach Zwei
1>3 Kante von Eins nach Drei

Jetzt beginnt die Arbeit erst richtig. Ich muss mich mit dem Perl-Skript beschäftigen und lernen die vielen verschiedenen Optionen zu verwenden wie:

  • andere Schriftarten, Farben und Stärken
  • andere Linienarten und -farben
  • andere geometrische Figuren
  • und, und, und ...

To be continued ...

   

GraphViz
Teil 1

Beschreibung
Einsatz
Download und Installation
Test
 
©  09.09.2009  Heiko Teichmeier - Glauchau/Sa.