Im Rahmen des Moduls «Consultancy Project» unseres Masterstudiengangs in Data Visualization an der Fachhochschule Graubünden durften wir, Mahmut Güner, Sara Koller und Anna Kuriger ein Projekt mit der Auftraggeberin, die itopia AG mit Sitz in Zürich, durchführen. Bei der Eintragung für dieses Projekts waren für uns zwei Aspekte von besonderer Bedeutung: Zum einen handelt es sich um ein Projekt im Bereich der IT-Werkzeuge für die Finanzwelt, die allgemein als sehr dynamisch beschrieben werden kann. Zum anderen fordert das Projekt ein Interesse an der Programmiersprache Python. Es bot die Möglichkeit, die aus dem ersten Semester erlangten Python-Programmierkenntnisse in einem praktischen Projekt anzuwenden, zu erweitern und zu vertiefen.
Die itopia AG stellt Unternehmen aus der Finanzwelt ihre umfangreiche Expertise im Bereich der Digitalisierung und dem Ersatz von Kernsystemen zur Verfügung, um sie bei ihren IT-Initiativen zu unterstützen. Um die gewonnenen Erkenntnisse aus Kundenaufträgen, insbesondere Zusammenhänge und Abhängigkeiten, für die Kunden anschaulich darzustellen, werden statische Graphen verwendet. Die Erkenntnisse können beispielsweise IT-Architekturen darstellen, in denen Zusammenhänge zwischen Services, Applikationen und Infrastrukturen visualisiert werden.
Der Projektauftrag der itopia AG lautete wie folgt: «Nach einer Bedarfsklärung (High-Level Anforderungen in 2-3 Interviews zu erfassen) ist ein selbständiges Screening und Evaluation von (im besten Fall Python-basierten) Open Source Werkzeugen zur Darstellung von Graphen durchzuführen. Idealerweise erlaubt ein Werkzeug die dynamische Visualisierung oder bestenfalls sogar interaktive Kommentierung von Daten (Nutzung in Workshops / in Reviews etc.). Neben Anforderungen kann itopia Beispiele und bei Bedarf auch synthetische Daten für die Evaluation von Werkzeugen / Frameworks zur Verfügung stellen. Ebenfalls kann ein Python-Experte für Fragen zur Verfügung stehen.»
Das übergeordnete Ziel des Projekts bestand nun darin, eine Empfehlung für die Einführung einer geeigneten Open Source Bibliothek (basierend auf Python) zur Visualisierung von Graphen auszusprechen. Die Bibliothek soll sowohl in der Lage sein, dynamische Graphen zu generieren, als auch interaktive Funktionen wie Kommentar- und Einblendungsfunktionen ermöglichen. Um die Leistungsfähigkeit der ausgewählten Bibliothek zu veranschaulichen, wird ein Anwendungsbeispiel mit synthetischen Daten des Auftraggebers erstellt.
Das Projektteam hat die Projektziele dahingehend eingeschränkt, dass die Empfehlung zwingend eine Python-basierte Bibliothek sein sollte, da dies aus den Gesprächen mit der itopia AG als äusserst wünschenswert erachtet wurde.
Das hier verlinkte Dokument stellt das ausführliche das Ergebnis dieses Beratungsprojekts dar. Die Arbeit widmet sich der umfassenden Evaluation und Bewertung von Python- Bibliotheken zur Visualisierung von dynamischen Graphen für den Praxiseinsatz der itopia AG. Zunächst wurde eine Bewertung von insgesamt elf Bibliotheken anhand verschiedener Kriterien (Funktionalität, Flexibilität, Interaktionsmöglichkeiten, Skalierbarkeit und Anpassungsfähigkeit) durchgeführt, um die vielversprechendsten Optionen zu identifizieren. Aufgrund dieser Bewertung wurden die drei am besten abschneidenden Bibliotheken «Bokeh», «igraph» und «PyVis» genauer untersucht und auf ihre Praxistauglichkeit hin getestet.
In den detaillierten Untersuchungen der ausgewählten Bibliotheken werden ihre Funktionen, Möglichkeiten und Grenzen eingehend erläutert. Bokeh erweist sich als interaktive Bibliothek mit vielfältigen Funktionen zur Visualisierung und Konfiguration von Netzwerkgrafiken. igraph hingegen zeichnet sich durch seine leistungsstarken Funktionen zur Erweiterung des Codes aus. Die finale Evaluation ergab, dass PyVis im Vergleich zu Bokeh und igraph einige Vorteile bietet, wie beispielsweise eine benutzerfreundlichere Oberfläche, ein breiteres Spektrum von Interaktionsmöglichkeiten und eine umfassende Dokumentation. Es wurde jedoch festgestellt, dass PyVis hauptsächlich auf die Visualisierung spezialisiert ist und keine erweiterten Funktionen zur Datenbankanalyse bietet. Für den praktischen Einsatz durch die itopia AG wird empfohlen, PyVis weiter zu untersuchen und mögliche Anpassungen oder Erweiterungen zu testen, um sicherzustellen, dass es den spezifischen Anforderungen gerecht wird. Abschliessend liefert die Arbeit praktische Implikationen für den Einsatz von PyVis zur Visualisierung von Graphen. Sie gibt einen umfassenden Überblick über die Bewertung der Bibliothek und empfiehlt weiterführende Untersuchungen, um sicherzustellen, dass die ausgewählte Bibliothek den spezifischen Anforderungen und Anwendungsfällen gerecht wird.
Mahmut Güner, Sara Koller und Anna Kuriger sind Studierende der Studienrichtung «Data Visualization». Der vollständige Projektbericht mit dem Titel «Dynamische Graphen mit Python» ist unter diesem Link zu erhalten.