Graph layout algorithms for network visualization: force-directed, spring embedder, constrained Cola, orthogonal, radial, circular, HOLA and edge bundling layouts behind a common planner interface. Computes node coordinates before rendering.
Microsoft.VisualBasic.Data.visualize.Network.Layouts 1.0.9762.11310.
01 Namespaces
Microsoft.VisualBasic.Data.visualize.Network.Layouts
| Type | Summary | Members |
|---|---|---|
| forceNetwork | 3 | |
| IPlanner | 1 | |
| SpringEmbedder | 8 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.Circular
The circular graph layout that arranges nodes on a circle.
| Type | Summary | Members |
|---|---|---|
| CircularLayout | 环形(圆形)布局:将所有节点沿一个圆周均匀分布。 支持按度排序或按自定义键排序以优化视觉表现 / 减少边交叉。 | 3 |
| CircularLayoutParameters | 环形布局参数,可在 PropertyGrid 中编辑 | 7 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.Cola
The constrained layout (Cola) engine: constraint based 2D and 3D layout, the power graph model, geometry helpers and model accessors.
| Type | Summary | Members |
|---|---|---|
| batch | 这个模块是对外开放网络布局生成的计算函数的接口 | 2 |
| Block | 11 | |
| Blocks | 8 | |
| Configuration | 4 | |
| DirectedEdge | An object with three point properties, the intersection with the source rectangle (sourceIntersection), the intersection with then target rectangle (targetIntersection), And the… | 3 |
| EventType | The layout process fires three events: > - start: layout iterations started > - tick: fired once per iteration, listen to this to animate > - end: layout converged, you might… | 6 |
| Extensions | 7 | |
| GridRouter | 10 | |
| handleDisconnected | 6 | |
| IGraphNode | The common type interface that will be used in Projection | 0 |
| InputNode | 6 | |
| Layout | Main interface to cola layout. | 10 |
| Link | 5 | |
| linkLengthExtensions | 7 | |
| LinkTypeAccessor | 1 | |
| Locks | Descent respects a collection of locks over nodes that should not move | 5 |
| Node | Client-passed node may be missing these properties, which will be set upon ingestion | 0 |
| Projection | 1 | |
| Solver | 11 | |
| tangentPoly | 2 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.Cola.GridRouter
Grid based edge routing for the constrained (Cola) layout.
| Type | Summary | Members |
|---|---|---|
| GridLine | a horizontal Or vertical line of nodes | 2 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.EdgeBundling.Mingle
The Mingle edge bundling algorithm for reducing visual clutter in dense graphs.
| Type | Summary | Members |
|---|---|---|
| Bundler | Edge bundling algorithm class. | 2 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.ForceDirected
The force-directed graph layout.
| Type | Summary | Members |
|---|---|---|
| DegreeWeightedPlanner | 依据节点度值的大小对每一个节点动态生产排斥力权重: 度值越大则该节点对周围节点的排斥力越大 | 1 |
| EdgeWeightedPlanner | 力导向+边权重:边权重越大,两个节点的引力越大 | 2 |
| ForceDirectedParameters | Force-Directed 力导向布局参数,可在 PropertyGrid 中编辑。 与 Planner 构造函数参数一一对应。 | 9 |
| GroupPlanner | 这个模块之中的方法会尽量让相同类型分组的节点聚集在一块 | 0 |
| MassHandler | 1 | |
| Planner | 力导向原始算法代码 | 6 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.Hola
The HOLA (high level organic layout algorithm) graph layout.
| Type | Summary | Members |
|---|---|---|
| AlignRelaxation | HOLA 阶段 4:对齐松弛(Align Relaxation)。 将坐标轴上相互接近(差距小于 alignEpsilon)的节点对强制对齐到同一网格线, 形成轴对齐的正交结构,这是 HOLA "Human-like" 观感的关键来源。 | 1 |
| ConstraintHelper | 封装对 CoLa 约束求解器(投影梯度下降)的调用,供 HOLA 各松弛阶段复用。 坐标系统一为 GDI(y 向下),NORTH 对应 y 减小。 | 3 |
| HOLA | HOLA 网络布局算法的静态入口。供 test 项目与其它调用方直接使用: Call HOLA.DoLayout(g) | 1 |
| HolaLayouter | HOLA 主控类。按照 hola2015.md 第 2 节与 8.2 节描述的阶段顺序, 协调各松弛/路由阶段,把最终坐标写回 NodeData.initialPostion。 | 1 |
| HolaLayoutState | HOLA 布局过程中的共享中间状态。所有阶段都围绕这份状态读写节点坐标, 最终由主控阶段把状态写回到 NodeData.initialPostion。 | 9 |
| HolaOptions | 可调节的 HOLA 算法参数集合。所有数值约定为 GDI 坐标系(y 轴向下, NORTH 对应 y 值减小)。集中管理便于在不同数据集上调参。 | 8 |
| InitialLayout | HOLA 阶段 1:初始布局。 负责把 NetworkGraph 转换为内部布局状态,并对缺少初始坐标的节点 按连通分量做确定性的网格散布,作为后续松弛迭代的起点。 | 3 |
| LayerScanRelaxation | HOLA 阶段 2/3:分层扫描松弛(Layer-wise Scan Relaxation)。 通过几何方式检测相交的连线(边),对相交边涉及到的节点施加分离/对齐约束, 并借助 CoLa 求解器投影,从而逐步消除边交叉,使布局趋向"人类可读"的正交形态。 | 3 |
| OrthogonalRouter | HOLA 阶段 6:最终正交路由(Final Orthogonal Route)。 把相邻节点之间的连线生成为轴对齐的正交折线(Z 形),并把折点写入 EdgeData.bends(用相对比例偏移的 WayPointVector 描述, 使节点位置变化时路径形状可跟随保持)。 | 1 |
| SpreadRelaxation | HOLA 阶段 5:扩散松弛(Spread Relaxation)。 在两个坐标轴上分别以一维扫描排序的方式施加分离约束(相邻节点间距 >= nodeGap), 借助 CoLa 求解器投影,消除节点与边的重叠,使布局疏密得当。 | 2 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.Hola.ConstraintHelper
| Type | Summary | Members |
|---|---|---|
| Axis | 坐标轴枚举:HORIZONTAL 处理 x 值,VERTICAL 处理 y 值。 | 2 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.Orthogonal
The orthogonal graph layout that routes edges along horizontal and vertical channels.
| Type | Summary | Members |
|---|---|---|
| algorithm | 2 | |
| Blocks | @author santi | 1 |
| DisconnectedGraphs | @author santi | 3 |
| OEElement | @author santi | 12 |
| OEVertex | @author santi | 5 |
| OrthographicEmbedding | OGE Orthographic Graph Embedder (OGE) v1.1 by Santiago Ontañón (2016-2017) This tool computes an orthographic embedding of a plannar input graph. | 3 |
| OrthographicEmbeddingResult | @author santi | 7 |
| PlanarEmbedding | @author santi | 8 |
| STNumbering | @author santi | 8 |
| Visibility | @author santi | 23 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.Orthogonal.optimization
The optimization passes of the orthogonal graph layout.
| Type | Summary | Members |
|---|---|---|
| EmbeddingComparator | @author santi | 1 |
| OrthographicEmbeddingBoardSizeOptimizer | @author santi | 4 |
| OrthographicEmbeddingOptimizer | @author santi | 7 |
| OrthographicEmbeddingPathOptimizer | @author santi | 3 |
| SegmentLengthEmbeddingComparator | @author santi | 2 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.Radial
The radial graph layout that places nodes in concentric rings.
| Type | Summary | Members |
|---|---|---|
| RadialLayout | 3 | |
| RadialLayoutParameters | 径向布局参数,可在 PropertyGrid 中编辑 | 2 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.SpringForce
The spring embedder (force based) graph layout.
| Type | Summary | Members |
|---|---|---|
| AbstractRenderer | 4 | |
| ForceDirected | 3 | |
| ForceDirected2D | Layout provider engine for the 2D network graphics. | 0 |
| ForceDirectedArgs | Function parameters for forceNetwork.doForceLayout()) | 6 |
| LayoutPoint | The position of the node object in the fdg data model. | 0 |
| Parameters | The network graph layout parameters | 6 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.SpringForce.Interfaces
Interfaces describing the spring force layout model.
| Type | Summary | Members |
|---|---|---|
| IForceDirected | 1 |
Microsoft.VisualBasic.Data.visualize.Network.Layouts.SpringForce.LayoutUpdater
| Type | Summary | Members |
|---|---|---|
| layoutGenerator | Do nothing, just used for generate network layout | 1 |