Layoutbibliothek für Knotengraphen für inkrementelle Graphen

8

Ich suche nach einer Bibliothek, an die Knoten und Kanten geliefert werden können und die eine Koordinatenliste aller Knoten erzeugt, die gut angelegt sind. Es sollte jedoch möglich sein, feste Positionen für einige bereitzustellen, aber nicht alle Knoten, die der Layout-Algorithmus berücksichtigen sollte.

Ich habe bis jetzt graphviz (fdp, neato) versucht, was nicht in der Lage scheint, die Position bestimmter Knoten zu halten und das Layout um sie herum aufzubauen.

Die Bibliothek muss mit Python verwendbar sein, also sollte es entweder python oder c / c ++ sein, damit wir unsere eigene Bindung schreiben können.

Die folgenden Bilder zeigen genau, wonach ich suche (dies ist das uDraw-Projekt, das anscheinend nicht als Bibliothek existiert).

    
Remo 28.05.2013, 13:03
quelle

1 Antwort

1

Sie können das in graphviz umgekehrt tun, wenn Ihnen das nützlich ist. Um dies zu tun, würden Sie zunächst den rechten Graphen plotten und dann den linken Graphen mit den Knoten 15, 16 und 17 auf style=invis darstellen. Das würde Ihnen das gleiche Layout geben, wie es hier gezeigt wird.

Ein Problem, das ich beim Zeichnen des linken Graphen zuerst wahrnehmen konnte, ist, dass die Software ( dot oder etwas anderes) natürlich versuchen würde, einen "gut aussehenden" Graphen ohne die Knoten 15, 16 und 17 und das zu zeichnen möglicherweise nicht genügend Platz lassen, damit die Knoten 15, 16 und 17 eingebaut werden können, wenn sie später benötigt werden. Wenn wir beispielsweise versuchen würden, einen Knoten 12a zwischen den Knoten 11 und 12 einzufügen, wäre in den oben gezeigten Graphen kein Platz für diesen Knoten. Wenn andererseits der Knoten 12a ursprünglich geplottet wurde, aber unsichtbar, würde die Software den Platz dafür zuweisen, wo er später aufgenommen werden könnte.

    
Simon 29.05.2013 22:48
quelle

Tags und Links