Graph Selection

Interaktive Datenanalyse für OmnAIView


Thimo Niewerth
IHK-Abschlussprojekt | Winter 2025

Unternehmen & Produkt

AI-Gruppe / Auto-Intern GmbH

Problemstellung

Ist-Zustand: Nur Anzeigen möglich (keine Analyse)

Fehlend: Bereichsauswahl, Statistikberechnung, Min/Max/Avg Analyse

Die Lösung: Graph Selection Feature

Funktionen

  • Selection-Modus per Toggle-Button
  • Drag-Auswahl direkt im Graph
  • Visuelles Rechteck zeigt Auswahl
  • Echtzeit-Statistikberechnung
  • Multi-Device Support

Berechnete Metriken

MetrikBeschreibung
Min / MaxExtremwerte im Bereich
AvgArithmetischer Mittelwert
RMSRoot Mean Square
P2PPeak-to-Peak Differenz

Technologien

Angular 19 Signals & Components
Electron Desktop-Apps
D3.js Graphen & SVG
TypeScript Typsicherheit

Architektur-Highlights

Herausforderungen & Lösungen

Code-Beispiel: Angular Signals

// Reaktiver State mit Signals
private readonly _isSelectionMode = signal(false);
private readonly _selectionStartX = signal<number | null>(null);

// Computed Property - automatisch aktualisiert
readonly selectionRect = computed(() => {
  const startX = this._selectionStartX();
  const endX = this._selectionEndX();
  if (startX === null || endX === null) return null;
  return { x: Math.min(startX, endX), width: Math.abs(endX - startX) };
});

Projektergebnis

✓ Alle Anforderungen erfüllt: Bereichsauswahl, Echtzeit-Statistik, Performance <100ms, Multi-Device, Touch-Support