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.
178 Kapitel 10 Implementierung<br />
10.1.7 Zeichenfläche<br />
Das Diagramm wird mit Hilfe der Methode UpdateCanvas erstellt, die aufgerufen<br />
wird, wenn sich das DiagramDataModel ändert. Diese benötigt als Parameter ein<br />
gültiges DiagramDataModel, welches ein CellSet beinhaltet. Innerhalb der Methode<br />
wird zunächst geprüft, ob ein gültiger Datensatz vorliegt. Als gültig wird anerkannt,<br />
wenn sowohl Measure wie auch Dimension auf den Positionsachsen liegen, aber<br />
auch ein CellSet vorhanden ist. Im nächsten Schritt werden die alten Datenpunkte<br />
im Diagramm gelöscht, da diese nicht mehr gültig sind. Die Berechnung der<br />
Farbwerte der DiagramPoints geschieht durch die Methode CreateColorGradient<br />
der Unterstützungsklasse DiagramUtils. Ebenso stellt die Klasse die Methode<br />
CreateSizes zur Bestimmung der Größen der Datenpunkte bereit. Nachdem sowohl<br />
Größe wie auch Farbe für jeden Datenpunkt bestimmt wurden, erfolgt die Berechnung<br />
der Position jedes Punktes im Diagramm. Damit die Legende das Farbmodell erhalten<br />
kann, wird durch das Setzen des ColorModels ein PropertyChanged-Event gefeuert.<br />
10.1.8 DiagramUtils<br />
Die Klasse DiagramUtils ist als Unterstützungsklasse zu sehen, die Methoden für<br />
Farbberechnung, Größenberechnung <strong>und</strong> Positionsbestimmung bereit hält. Für die<br />
Bestimmung der Farbe von Datenpunkten stehen zwei Farbverläufe zur Verfügung. Für<br />
Kennzahldaten, also Daten mit Zwischenwerten wird ein Farbverlauf von grün über gelb<br />
nach rot gewählt. Für Dimensionswerte ist ein größeres Farbspektrum von rot nach blau<br />
über zehn Stützpunkte gewählt worden. Es ist dabei sichergestellt, dass in jeder der zehn<br />
Klassen in etwa gleich viele Elemente enthalten sind, da Dimensionswerte immer im<br />
gleichen Farbabstand dargestellt werden müssen. Die Bestimmung der exakten Farben<br />
erfolgt durch lineare Interpolation.<br />
Die Bestimmung der Größe erfolgt ebenfalls durch lineare Interpolation zwischen<br />
Minimum- <strong>und</strong> Maximum-Wert der Achse.<br />
Weiterhin enthält diese Klasse noch eine Hilfsmethode zur Berechnung des Skalierungsfaktors,<br />
welcher für die Positionierung von Datenpunkten bei Measures benötigt<br />
wird, <strong>und</strong> eine Methode zur Bestimmung des Abstandes von zwei Punkten bei<br />
Dimensionswerten.<br />
Die Methode PrintTo<strong>Visual</strong> wird genutzt, um eine beliebige Erweiterung der<br />
Klasse UIElement in eine Instanz der Klasse <strong>Visual</strong> umzuwandeln. Dies wird z. B.<br />
benötigt, um Screenshots der aktuellen Diagrammansicht zu generieren, die in der<br />
Zustandsspeicherung verwendet werden.