it-swarm.com.de

Darstellung einer dynamischen Hierarchie mit einer Vielzahl von Elementen

Dies ist mein erster Beitrag hier. Hoffentlich wird die Beschreibung klar rüberkommen.

In einer Anwendung, an der ich arbeite, möchte ich eine Form der Hierarchie mit einer möglicherweise großen Anzahl von Elementen (n x 1000) darstellen. Der Benutzer hat die Möglichkeit, Elemente in der Hierarchie zu verschieben, und ein Element kann an mehr als einer Stelle vorhanden sein.

Im Moment habe ich mich für einen Baum entschieden (ein JTree in Java), der links mit einem Bearbeitungsfeld rechts sitzt. Ich denke jedoch, dass dies auf Probleme stoßen kann, wenn es viele Elemente gibt. Es müssen nur die Elemente sichtbar sein, die bearbeitet oder ausgewählt werden. Die obersten Elemente können als feste Kategorien betrachtet werden, aber der Pfad der darunter liegenden Knoten ist möglicherweise endlos.

Welche anderen Möglichkeiten könnte ich verwenden, um diese Informationen zu präsentieren?

7
James P.

Wenn sich dasselbe Objekt an mehreren Stellen im selben Baum befinden kann, haben Sie keine Hierarchie. Zumindest haben Sie mehrere Hierarchien. Oder vielleicht haben Sie viele zu viele Beziehungen.

Ich denke auf jeden Fall, dass Sie mehr über Ihr Datenmodell nachdenken müssen. Sie müssen das hierarchische Schema wahrscheinlich in mehrere orthogonale Dimensionen aufteilen. Sie denken vielleicht, dass Kampagnen in Kampftheatern verschachtelt sind, aber es ist möglicherweise sinnvoller, wenn der geografische Standort und die Ereignisse getrennte Hierarchien sind - insbesondere, wenn Sie ein Ereignis haben, das sich über mehrere Theater erstreckt.

Einige Dimensionen können einfach kategorisch, andere ordinal (Rang), andere hierarchisch (eine Reihe verschachtelter Kategorien) und andere Listen sein (mehrere separate Kategorieauswahlen, wobei jede Auswahl selbst hierarchisch sein kann). Jedes impliziert ein anderes Design der Benutzeroberfläche, und außerdem haben Sie wahrscheinlich ein anderes Design für Eingabe die Dimensionswerte für ein Objekt als für Eingabe ein Objekt basierend auf dessen Maßwerte.

Beispielsweise kann eine Dimension die Wichtigkeit des Dokuments sein (z. B. auf einer 5-Punkt-Ordnungsskala) und eine andere eine Liste relevanter Ereignisse. Für die Eingabe von Dimensionswerten bedeutet dies, dass die Benutzeroberfläche die Dokumentdetails anzeigt, die zum Bestimmen der Dimensionswerte erforderlich sind, und über Optionsfelder zum Festlegen der Wichtigkeit verfügt. Der Benutzer kann aus einer Liste oder einem Baum aller Ereignisse ein oder mehrere relevante Ereignisse auswählen, die in einer separaten Liste relevanter Ereignisse angezeigt werden (z. B. Eingabe der E-Mail-Adresse in die Zeile An).

Oder Sie möchten die Wichtigkeit des Dokuments für jedes relevante Ereignis bewerten. Dies bedeutet, dass die Liste der relevanten Ereignisse eine Tabelle mit Optionsfeldern oder Dropdown-Listen ist, um die Wichtigkeit für jedes Ereignis einzugeben.

Zusammenfassend möchten Sie vielleicht mehr nach dem Vorbild einer relationalen Datenbank denken, anstatt zu versuchen, die Daten zwangsweise in eine einzige Hierarchie einzupassen. Wenn Sie die Benutzeroberflächen für verschiedene Datenbanken untersuchen, erhalten Sie Anregungen zur Behandlung Ihres Falls.

4

Vielleicht eine Kombination Zoomooz.js und InfoVis .

Weitere Informationen finden Sie unter Anzeigen der hierarchischen Daten .

2
igor

Möglicherweise als Teil einer Benutzeroberfläche, aber vielleicht noch wichtiger, um Ihnen möglicherweise zu helfen, Ihre Daten besser zu verstehen , möchten Sie möglicherweise mit einigen Visualisierungen der Beziehungen spielen, die Sie haben sind interessiert an.

Ich würde empfehlen, mit einigen Netzwerkgraphen zu beginnen, da der Netzwerkgraph in vielerlei Hinsicht das Schweizer Taschenmesser der Visualisierungen ist.

  • Zeigen Sie Beziehungen zwischen einer beliebigen Anzahl von Entität Typen an
  • Kombinieren Sie die Anzeige von 1 bis n Beziehung Typen
  • Hiearchies funktionieren, sind aber nicht erforderlich

( gephi ist ein fantastisch Tool zum Spielen mit Netzwerkgraphen. yEd ist auch wegen seiner größeren Vielfalt an Layouttechniken erwähnenswert, einschließlich orthagonal, radial usw.)

Wie @Michael Zuschlag hervorhebt, können viele andere Aspekte/Dimensionen interessant und nützlich sein, um diese Daten zu untersuchen - Geografie könnte interessant sein oder einzelne militärische Führer. Sie können diese Kategorien als Knoten in einem Überdiagramm hinzufügen und sie entsprechend mit Ihren Ereignissen verknüpfen oder separate Diagramme basierend auf jeder "Dimension" erstellen.

Es ist eine großartige Möglichkeit, stark miteinander verbundene Daten zu untersuchen. Um das Diagramm zu erstellen, müssen Sie sich mit den Daten vertraut machen.

Es fallen Ihnen auch einige Moritz Stefaner-Projekte ein, die Sie interessieren könnten: Beziehungsbrowser und Inhaltslandschaft .

Wenn Sie feststellen, dass Sie ein großes Gewirr von vielen-zu-vielen-Beziehungen von Interesse haben, können Sie Informationen in einer Diagrammdatenbank speichern.

1
peteorpeter