2016-04-24 5 views
2

Ich möchte ein Diagramm mit übergeordneten Knoten erstellen, die jeweils einen oder mehrere untergeordnete Knoten enthalten, die über Koordinaten platziert werden. Untergeordnete Knoten haben Kanten zu anderen untergeordneten Knoten im Diagramm.Breitestes Layout der Eltern, keine Kindknoten

Ich würde dann gerne ein breathfirst Layout auf den Eltern durchführen, ohne die lokale Position der Kindknoten zu stören.

enter image description here

Ist das möglich in Cytoscape.js? Muss ich ein benutzerdefiniertes Layout-Modul schreiben?

Antwort

2

Zusammengesetzte Knoten haben nicht wirklich unabhängige Positionen und Dimensionen: Ein Elternteil ist völlig abhängig von Kindern, um seine Position und Dimensionen anzupassen.

Um das zu tun, was Sie vorschlagen, müssten Sie alle Nachkommen eines Elternteils verschieben, um das Elternelement effektiv zu verschieben. Dafür benötigen Sie eine einzigartige Layout-Logik.

Sie könnten wahrscheinlich einfach die scaffolder verwenden und kopieren Sie den breadthfirst Code als Basis - Modifizierung für das, was Sie brauchen. Wenn Sie es öffentlich haben wollen, könnte es eine schöne Layout-Erweiterung in der listing sein.

+0

aber ist es möglich, ein völlig unabhängiges Diagramm in einem Knoten irgendwie zu rendern? möglicherweise mit einem (gut performenden/skalierenden) Hack, z. B. dem Rendern eines Cytoscape.js-Graphen in einem Cytoscape.js-Graphknoten. –

+1

Rendern Sie das andere Diagramm in einer anderen Instanz. Generieren Sie ein Bild aus dem Diagramm und verwenden Sie dieses als Hintergrundbild auf einem Knoten in der ersten Instanz. – maxkfranz

+0

das ist eine nette Idee; wahrscheinlich auch fähig zu sein –

Verwandte Themen