课程来源本文根据北京大学公开课《数据可视化》共63讲的学习笔记整理而成。该课程由北京大学智能学院袁晓如研究员主讲课程涵盖数据可视化引论、数据抽象与编码、交互设计、各类数据表格、高维、层次、图、时变、地理空间的可视化方法等内容。课程链接【公开课】北京大学数据可视化共63讲一、引言图可视化的核心挑战图Graph由节点Node和边Edge构成广泛用于社交网络、交通网络、生物信息学等场景。然而图可视化面临两大根本性的矛盾挑战描述影响节点布局结构上相近的节点应当在视觉上也靠近以便观察聚类关系需要平衡局部邻域与全局结构边可视化边的数量通常远多于节点如完全图每条边占据大量屏幕空间造成视觉混乱、交叉重叠严重降低可读性针对这两个问题主流的解决方案是力导向布局负责节点定位边捆绑技术负责处理边过多的问题二者常常结合使用。二、力导向布局Force-Directed Layout2.1 物理模拟的基本思想与工程调整力导向布局的基本思路源于一个直观的物理隐喻将图的顶点想象为钢环将边想象为弹簧。将这些钢环放置在初始位置后释放弹簧的拉力会驱动整个系统运动最终达到能量最小的平衡状态。在这一过程中弹簧的弹力决定了相邻节点的靠近程度。然而在实际工程实现中直接使用胡克定律线性弹簧会带来一个问题当两个顶点相距较远时线性弹簧产生的拉力过强导致节点在布局初期剧烈震荡难以收敛。因此研究者提出了两个关键的工程调整1对数强度弹簧Logarithmic Spring弹簧的弹力不再与伸长量成正比而是采用对数形式其中d 为弹簧的当前长度即两个顶点之间的像素距离 和 为常数。这一设计的优点在于当 d 时弹簧力为零此时弹簧处于自然长度节点达到理想间距当 d 较大时对数函数的增长速度远慢于线性函数避免了远距离节点之间的过度吸引使得布局过程更加平稳。2非相邻节点之间的斥力Repulsion为了有效避免节点重叠还需要让所有非相邻的节点对之间相互排斥。合适的斥力形式为平方反比定律其中d 为两个顶点之间的距离 为常数。这种斥力随距离的增大而迅速衰减使得邻近节点之间保持足够的间距而相距较远的节点则几乎不受影响符合视觉布局的直观需求。上述物理系统通过迭代模拟每次计算合力并移动节点来逐步逼近稳定状态。不同学者提出的具体模型如后续介绍的FR模型和KK模型在力的具体计算公式上略有差异但都遵循了这一基本框架。2.2 两种经典力导向模型的数学表达在力导向布局的发展历程中不同学者提出了各具特色的模型。这些模型的常数各有不同导致结果的疏密程度存在差异但最终都能得到有效的布局方案。以下两种是学术界最常用的经典模型。1Fruchterman-Reingold 模型1991FR 模型是最广泛使用的力导向算法之一其核心思想是弹簧引力 电荷斥力。合力的计算公式如下其中第一项为斥力Repulsion所有节点对之间相互排斥防止重叠第二项为引力Attraction/Spring仅作用于有边相连的节点对使相邻节点靠近d(i,j) 表示节点 i 与 j 之间的像素距离欧氏距离kk 为最优距离常数控制布局的整体疏密程度其计算公式为其中 A 为画布面积n 为节点总数。该常数使得节点在画布上均匀分布。特点引力呈线性或平方增长斥力随距离增大而衰减通过调节 k值可以改变布局的松散程度距离度量采用显示空间的像素距离。2Kamada-Kawai 模型1989KK 模型采用了不同的思路它基于图拓扑距离来定义节点的理想位置。其能量函数目标函数为其中d(i,j)d(i,j) 表示节点 ii 与 jj 之间的像素距离当前布局中的欧氏距离p(i,j)p(i,j) 表示节点 ii 与 jj 之间的图拓扑距离即最短路径步长该函数衡量的是当前布局距离与理想距离之间的偏差通过最小化该能量函数来获得布局。特点直接使用最短路径Shortest path作为理想距离的参考使得拓扑上相近的节点在视觉空间中也保持相近收敛速度相对较快但总体计算复杂度为 O()。两种模型的核心区别对比维度Fruchterman-Reingold (1991)Kamada-Kawai (1989)力的来源弹簧引力 电荷斥力基于理想距离的弹簧模型无显式斥力距离度量像素距离欧氏空间像素距离 图拓扑距离最短路径核心参数最优距离常数 k理想距离 p(i,j)计算复杂度O(N2) 每轮迭代O(N3) 总体适用场景通用中小型图需要体现拓扑结构时效果更佳关于像素距离与图拓扑距离的补充说明在实际应用中计算节点之间的距离有时直接使用屏幕上的像素距离欧氏距离有时也使用节点在图拓扑中的距离即最短路径步长来做相应的计算。两者可以结合使用——例如在 KK 模型中像素距离用于计算当前布局误差而图拓扑距离用于定义理想目标二者共同决定了节点的移动方向与幅度。2.3 几种经典算法对比算法核心思想时间复杂度适用场景Fruchterman-Reingold (FR)模拟退火式迭代弹簧模型电荷斥力O(N²) 每轮中小型图节点数1000Kamada-Kawai (KK)基于图拓扑距离的最小化弹簧模型O(N³) 总体收敛较快但计算量大多级力导向先粗化图布局后再细化O(N log N) 近似大规模图的近似布局2.4 距离度量的两种方式在力导向布局中距离的计算有两种不同的维度像素距离欧氏空间直接用于计算力的大小决定节点在显示空间中的最终位置。图拓扑距离最短路径步长用于定义节点间的理想距离使得拓扑上相近的节点在视觉空间中也保持相近如KK算法。2.5 参数调节与适用规模引力/斥力常数调节这两个常数可以影响最终布局的疏密程度——增大斥力常数会使节点分布更加分散。迭代次数通常需要几十到几百轮迭代才能收敛。适用规模传统的力导向布局通常适用于节点数在1000以内的图超过此规模需要借助近似算法或GPU加速。三、边捆绑技术Edge Bundling3.1 为什么需要边捆绑当图中的边数量远远超过节点数量时如航线图、神经网络连接图即使节点布局已经足够合理大量的边仍然会形成毛线团效应造成严重的视觉拥堵和线条交错。边捆绑技术的核心思想是将具有相似起点和终点的边合并成束减少屏幕占用和交叉从而提升人对节点关系以及边关系的识别能力。3.2 边捆绑的工作原理以层次化边捆绑为例其基本流程如下离散化将每条边均匀采样为若干控制点折线或曲线。构建层次结构通常基于节点的聚类树如根据拓扑距离构造的层次树。吸引与聚集在每一层中计算边控制点之间的相似性基于位置或方向让相似的边相互吸引并向中间靠拢。迭代平滑最终形成平滑的束状曲线。另一种流行的方法是力导向边捆绑Force-Directed Edge Bundling, FDEB将边上的离散点视为可移动的粒子相邻边上的对应点之间增加吸引力同一边上的点保持原有形状的弹性约束通过物理模拟使边束自然聚合。3.3 算法流程概括text1. 将每条边均匀采样为若干段如10段得到控制点网格。 2. 对每一对边计算它们对应段之间的方向与位置相似度。 3. 若相似度高于阈值在对应点之间施加吸引力类似于力导向的思想。 4. 同时添加平滑约束避免折线过于尖锐。 5. 迭代优化直到束状结构稳定。3.4 参数调整捆绑强度Bundling Strength控制吸引力的权重——越强则束越紧但可能扭曲边的原始路径。细分数量分段越多允许的弯曲越精细但计算量也随之增大。相似度阈值决定哪些边会被捆绑在一起影响聚类的粒度。3.5 典型应用场景边捆绑技术特别适用于节点位置固定的场景例如机场航线图地理地图上的城市间连接生物网络基因调控网络软件依赖图社交网络在这些场景中节点无法移动只能通过边捆绑来优化视觉效果。3.6 效果评价优势显著降低视觉杂乱度边交叉点减少保留全局结构主要路径仍然可辨识局限性参数敏感需要结合实际场景灵活调整可能掩盖个别异常边或细节信息通常需要配合交互如悬停高亮来弥补细节损失四、图可视化的综合评价技术优势局限性力导向布局直观揭示聚类结构和节点中心性算法成熟易于实现计算量大对大规模图不友好可能陷入局部最优边捆绑大幅提升边的可读性适合节点位置固定的场景参数敏感可能扭曲边的真实轨迹需要交互辅助两者结合先布局后捆绑兼顾节点聚类和边的清晰度流程复杂调参需要一定经验五、延伸时间序列数据可视化课程的最后部分涉及了时间序列数据的可视化。时间序列是可视化领域中非常普遍且核心的数据类型常见应用包括太阳黑子周期性观测体育赛事数据分析如NBA数据可视化病人服药记录人工智能领域研究趋势分析虽然时间序列与图布局没有直接关系但在动态图的场景中力导向布局需要随时间轴平滑过渡边捆绑也需要考虑时序一致性——这是当前图可视化研究的一个热点方向。六、总结本文梳理了图可视化中两个核心技术——力导向布局和边捆绑技术的基本原理、经典算法和适用场景。力导向布局通过物理模拟解决节点的合理排布问题而边捆绑技术则通过对边的聚合来缓解视觉拥堵。两者相辅相成共同构成了现代图可视化的基础工具箱。值得注意的是这两项技术都涉及大量的参数调节实际应用中需要根据具体数据和场景灵活调整。随着图数据规模的不断增大如社交网络、知识图谱等如何在大规模场景下高效地实现力导向布局和边捆绑仍然是可视化领域持续关注的研究方向。笔记整理自公开课内容如有不当之处欢迎指正。课程来源本文根据北京大学公开课《数据可视化》共63讲的学习笔记整理而成课程链接 【公开课】北京大学数据可视化