我使用dagre绘制有向图,但我试图了解svg、d3、dagre和graphlib是如何相互依赖的?基本上,其中一个停止,另一个开始。
我试着用我有限的理解来指出我能收集到的东西。
我知道我听起来很困惑,但你明白了!如果有人能用一个例子向我解释它们是如何相关的,以及在什么里面可以使用什么函数,我就可以拿起。
谢谢。
发布于 2014-11-14 10:17:16
graphlib提供了表示图形的数据结构。它不进行布局或渲染。因此,以下是纯图形库:
var g = new Graph();
g.setNode(...);
g.setEdge(...);dagre执行节点的布局(x和y定位),其中节点用图形库图表示。它不进行渲染。大多数情况下,您不会自己调用它,除非您希望在不使用dagre-d3的情况下进行自定义呈现。
dagre-d3使用dagre进行布局,并使用d3呈现它。注意,dagre-d3默认情况下包括dagre和graphlib,如dagreD3.dagre和dagreD3.graphlib。
SVG是d3的输出格式。它是一种通用的矢量图形格式,也可以有普通的HTML嵌入.每个SVG节点也是一个DOM节点。这就是为什么d3.select也能在SVG节点上工作的原因。
您发布的代码片段似乎执行后处理来设置节点上的类。链接到的示例似乎从那时起就被更新了,并且不再包含该代码。
https://stackoverflow.com/questions/26184357
复制相似问题