Ich habe eine Datenstruktur, die einen gerichteten Graphen darstellt, und ich möchte, dass dynamisch auf einer HTML-Seite zu rendern. Diese Graphen werden in der Regel nur ein paar Knoten, vielleicht zehn am oberen Ende, so meine Vermutung ist, dass die Leistung isn & #39; t gehen, um eine große Sache sein. Idealerweise möchte ich in der Lage sein, es in mit jQuery Haken, so dass Benutzer das Layout manuell durch Ziehen der Knoten um zwicken können.
Hinweis: Ich bin nicht auf der Suche nach einer Charting-Bibliothek.
Ich habe gerade das zusammengestellt, wonach Sie vielleicht suchen: http://www.graphdracula.net Es ist JavaScript mit gerichteten Graphen, SVG und man kann sogar die Knoten herumziehen. Es muss noch etwas optimiert werden, ist aber durchaus brauchbar. Sie erstellen Knoten und Kanten einfach mit JavaScript-Code wie diesem:
var g = new Graph();
g.addEdge("strawberry", "cherry");
g.addEdge("cherry", "apple");
g.addEdge("id34", "cherry");
Vielleicht möchten Sie auch einen Blick auf andere Projekte werfen! Unten sind zwei Meta-Vergleiche:
JsVIS war ziemlich gut, aber langsam bei größeren Graphen, und wird seit 2007 nicht mehr eingesetzt.
prefuse ist eine Reihe von Software-Tools zur Erstellung interaktiver Datenvisualisierungen in Java. flare ist eine ActionScript-Bibliothek zur Erstellung von Visualisierungen, die im Adobe Flash Player ausgeführt werden können, und wird seit 2012 nicht mehr weiterentwickelt.
Wie guruz erwähnte, bietet die JIT mehrere schöne Graphen-/Baum-Layouts, einschließlich recht ansprechender RGraph- und HyperTree-Visualisierungen.
Außerdem habe ich gerade eine super einfache SVG-basierte Implementierung auf github (keine Abhängigkeiten, ~125 LOC), die gut genug für kleine Graphen in modernen Browsern funktionieren sollte.