Das Ziel der Arbeit war es verschiedene Diagramme zu entwickeln, welche zur graphischen Analyse von wissenschaftlichen Daten beitragen.
Java, JavaFX, Diagramme, wissenschaftliche Daten
Einfach zu verwendende, flexible JavaFX Diagramm-Komponenten zu entwickeln die in einer Vielzahl wissenschaftlicher Projekte eingebunden werden können.
Die in JavaFX zur Verfügung stehenden Charts sind für viele Dinge ausreichend, jedoch genügen sie nicht den Ansprüchen im wissenschaftlichen Bereich. Aus diesem Grund ist es sinnvoll eine Chart Bibliothek zu erstellen, welche den speziellen Ansprüchen zur Visualisierung und grafischer Analyse von wissenschaftlichen Daten gerecht wird.
Zwei vollumfängliche Diagramm-Komponenten wurden entwickelt. Für eine dritte Diagramm-Komponente wurden Analysen durchgeführt, sowie ein Klassendiagramm und Datenmodell erarbeitet.
Dieser Graph kann die Verbindung zwischen mehreren Nodes darstellen, welche unterschiedlichste Entitäten
repräsentieren können.
Um die Stärke der Verbindungen zwischen den Nodes darzustellen, wird eine physikalische Simulation angewandt, welche
die Gesetze von Hooke und Coulomb verwenden um die Abstossung und Anziehung der Nodes zu simulieren.
Die Anziehungskraft zwischen Nodes basiert auf den vom User bereitgestellten Daten. Jedes Feld
mit einem nummerischen Datentyp kann vom Graphen verwendet werden um diese Anziehungskraft zu simulieren.
Die Grösse der Nodes sowie die Breite der Verbindungen zwischen ihnen, Edges genannt, können ebenfalls
an jeden nummerischen Wert in den vom User bereitgestellten Daten geknüpft werden.
Diese Art der Visualisierung vereinfacht das Erkennen von engen Verbindungen, indem es eng verknüpfte Nodes sich in
Clustern sammeln lässt.
Das Pareto Chart wird häufig in Optimierungsaufgaben und Quality-Management verwendet.
Es ist eine Kombination aus einem Säulendiagramm und einem Liniendiagramm.
Die Säulen werden der Grösse nach absteigend sortiert, wobei die linke Y-Achse die Werteskala der Säulen anzeigt.
Die Linie, welche über den Säulen verläuft, summiert die Werte dieser auf und gibt an jedem Punkt an,
wie viel Prozent der Gesammtsumme erreicht wurde.
Der Wert einer Säule kann sich aus mehreren anderen Werten zusammensetzen.
Aus diesem Grund ist es möglich dies darzustellen, indem eine Säule aus mehreren Säulen besteht.
In unserer Anwendung wird eine solche Verschachtelung dargestellt, indem die untergeordneten Säulen
innerhalb der Säule dargestellt werden, in der sie vorhanden sind.
Der Benutzer kann sich diese verschachtelten Säulen als eigenes Paretodiagramm anzeigen lassen, indem er
auf die Säule klickt, welche die gewünschten Daten beinhaltet.
Das dritte Diagramm ist ein Streudiagramm, welches zusätzlich eine Zeitachse besitzt.
Hierbei handelt es sich um eine Analyse, aus der das oben vorliegende Klassendiagramm hervorging.
Damit ist der Grundstein gelegt um eine sehr flexible und mächtige Implementation umzusetzen.
Daten die sich über Zeit ändern werden dabei in einem Streudiagramm angezeigt.
Der Benutzer kann auswählen, welcher Zeitpunkt dargestellt wird. Ebenfalls kann konfiguriert werden,
was X-,Y-Achse und die Grösse der Nodes darstellen.
Das Strategy Pattern
wurde verwendet um dem Benutzer die Möglichkeit zu geben, die Daten vor dem Anzeigen nach selbst definierten Regeln
zu überarbeiten und die darzustellenden Datensätze zu filtern.
Dieser Ansatz ermöglicht es die selben Daten auf komplett unterschiedliche Weise zu visualisieren
und die Anzeige dem Analysezweck anzupassen.
Projektdauer: ein Semester, Aufwand in Personenstunden: 720 Personenstunden gesammt, Teamgrösse: Zwei-Personen Team, Bachelor Thesis
Gerrit Grunwald http://www.canoo.com/
Michael Läuchli Stefan Mettler
Betreuer: Dieter Holz dieter.holz@fhnw.ch Experte: Edwin Steiner edwin.steiner@inventage.com