Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...
Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...
Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
156 Kapitel 9 Entwurf<br />
9.1.3 DiagramDataModel<br />
Die Klasse DiagramDataModel ist Teil des ViewModels. Sie benachrichtigt andere<br />
angemeldete Elemente, wie Axis, Legend, DropAreaGroup, ScalableCanvas <strong>und</strong> das<br />
Diagram selbst, über Eigenschaftsveränderung mit Hilfe von PropertyChangedEvents.<br />
Im DiagramDataModel werden die Daten für das Diagramm gespeichert.<br />
Eigenschaften der DiagramDataModel Klasse:<br />
• Axis: Ein Dictionary, in welchem die Zuordnung einer Achse zu Dimensionen<br />
oder Measures erfolgt.<br />
• CellSet: Hier werden die Punkte nach einer Datenbankabfrage hinterlegt (siehe<br />
Abschnitt 9.5.2).<br />
• IsWorking: Gibt an, ob gerade eine Datenbankabfrage ausgeführt wird oder<br />
nicht.<br />
• ColorModel: Ist das Farbmodell für die Datenpunkte. Es ist abgeleitet von<br />
Dictionary, welches eine Abbildung der Namen auf die<br />
entsprechenden Brushes realisiert.<br />
• AniModel: Stellt das Modell für die Animationsachse bereit (siehe 9.1.9).<br />
• AxisMinMaxRelation: Speichert den kleinsten <strong>und</strong> den größten Wert jeder<br />
Achse, der dargestellt werden muss.<br />
Abbildung 9.2 zeigt das DiagramDataModel, welches ein Teil des MVVM-Models ist.<br />
9.1.4 Axis <strong>und</strong> AxisNode<br />
Das UserControl Axis übernimmt die Darstellung einer Achse in X- oder Y-<br />
Richtung. Sie baut sich auf, wenn sich im DiagramDataModel die Zuordnung der<br />
Axis-Komponente ändert. Es gibt zwei mögliche Szenarios:<br />
• Wenn ein Level zur Achse zugeordnet wird, werden dessen Nodes sofort angezeigt.<br />
• Wenn ein Measure zur Achse zugeordnet wird, wartet die Achse mit ihrem Aufbau<br />
solange, bis ein Diagramm dargestellt werden kann.<br />
Außerdem können die Operationen RollUp <strong>und</strong> lokaler sowie globaler DrillDown<br />
über die Achse angestoßen werden. Bei einem RollUp handelt es sich um eine<br />
Online Analytical Processing-Operation, bei der der nächsthöhere Level eines bereits<br />
angezeigten Levels geholt <strong>und</strong> angezeigt wird. Der DrillDown liefert den nächsttieferen<br />
Level. Hierbei gibt es zwei Unterscheidungen: lokal <strong>und</strong> global. Bei einem lokalen