Drücke „Enter”, um zum Inhalt zu springen.

Plattenverwaltung: Statistik jetzt!

Jan 0

Jetzt sind einige Wochen vergangen und meine Plattenverwaltung konnte ein paar Daten sammeln. Damit konnte ich mich an die Auswertung der Daten machen. Als erstes suchte ich mir eine Bibliothek zum Zeichnen von Diagrammen und wurde relativ schnell auf OxyPlot aufmerksam. Ich lud mir das Package runter, band es ein und baute ein Control, was den Beispielcode ausführte. Klappte wunderbar und sehr einfach.

Es konnte der nächste Schritt folgen: Das Auslesen der Daten. Schon im Vorfeld hatte ich mir überlegt, was ich gerne sehen möchte. Ich zitiere:

Ich könnte auch eine Grafik erstellen, wo ich den Zeitraum einstellen kann (Tag, Woche, Monat) und dann den zeitlichen Verlauf der abgespielten Tonträger / Titel.

Also warum nicht das alles? Ich begann aber mit dem einfachsten Fall – die Anzahl der Tonträger pro Tag. Die Daten waren schnell da und nun stolperte ich über das erste Problem. Wie aktualisiere ich das bereits angezeigt Diagramm. Nur neue Daten unterschieben reicht offensichtlich nicht. Nein, das Control möchte auch nochmal explizit einen Aufruf, dass es sich aktualisieren soll, auch wenn das darunter liegende Model ein ChangeEvent auslöst. Ganz unsauber! Zumindest konnte ich es reibungsfrei in meine Architektur integrieren und schon tauchte das erste Diagramm auf.

Ich experimentierte noch mit anderen Diagrammtypen und stieß noch auf weitere Unschärfen (Das ViewModel muss die Farbe des Graphen definieren?). Aber das ließ ich erstmal außen vor. Jetzt wurden noch die anderen Darstellungsarten eingebaut (pro Woche, pro Monat) und anschließend die Skalierung entsprechend angepasst, da ja pro Monat mehr Platten gespielt werden als pro Tag.

Wie man sieht, sieht es schon ganz ansprechend aus. Ob ich jetzt nochmal anfange und eine neue Bibliothek suche oder über eine Erweiterung nachdenke, weiß ich noch nicht. Denn momentan hätte ich gerne noch zusätzlich die gespielte Zeitdauer…

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.