## 用于 Cytoscape 的 yFiles 布局算法 适用于 Cytoscape 的 **yFiles 布局算法**应用将著名的 [https://www.yworks.com/products/yfiles yFiles 图表库]的布局算法引入了 Cytoscape!现在,您只需点击一下,即可利用触手可及的 yFiles 布局算法和边缘路由算法,以清晰简洁的方式排列您的 Cytoscape 网络。yFiles 图表库是用于排列和可视化图结构的顶级软件组件,附带一套高度复杂且可高度定制的布局算法。使用“用于 Cytoscape 的 yFiles 布局算法”应用需遵守此 [https://www.yworks.com/resources/yfiles-cytoscape-app/license.html 软件许可协议]。该应用由 [https://www.yworks.com/ yWorks GmbH] 制作。 ### 布局算法 该应用提供了以下主要的 yFiles 布局算法和边缘路由算法: **圆形布局 (Circular Layout)** 圆形布局算法描绘互联的环状和星状拓扑结构。该算法生成的布局强调网络内的组结构和树状结构。它通过分析网络的连接结构进行节点分区,并将这些分区排列为独立的圆环或圆盘。 **层次布局 (Hierarchic Layout)** 层次布局算法描绘有向图的优先关系。使用该算法可以突出有向图中的主要方向或流向。节点间的循环依赖将被自动检测并消除。节点将被放置在层次排列的层级中。此外,每一层内节点的排序方式旨在尽量减少边缘交叉的数量。 **选定节点层次布局 (Hierarchic Layout Selected Nodes)** 这是上述经典层次布局的一种变体。与每次调用时都计算全新图布局的经典层次布局相比,该变体将重新排列由选定节点导出的子图,而图的其余部分保持不变或仅有微小变化。这种技术使得在后续的图布局计算过程中保持用户的“心理地图”成为可能。 **有机布局 (Organic Layout)** 有机布局算法是一种用于无向图的多用途布局样式。该算法基于力导向布局范式。在排列图表时,节点被视为具有相互排斥力的物理对象(如质子或电子)。节点之间的连接也遵循物理类比,被视为连接在节点对上的金属弹簧。如果这些弹簧太短或太长,它们会在端点之间产生排斥力或吸引力。该算法模拟这些物理力,并重新排列节点的位置,使得节点和边缘发出的总力达到(局部)最小值。 **正交布局 (Orthogonal Layout)** 正交布局算法是一种用于无向图的多用途布局样式,非常适合中等规模的稀疏图。它生成的图表结构紧凑,没有节点重叠,且交叉和弯折较少。所有边缘都将以正交样式进行路由,即仅使用垂直和水平线段。 **径向布局 (Radial Layout)** 径向布局算法将节点放置在围绕公共中心的虚拟同心圆上。该算法强调图表中的树状结构。 **树状布局 (Tree Layout)** 如果输入图是一棵树或一组树,树状布局算法特别适用。树是指不包含无向循环边缘路径的图。如果输入图不是树,它将通过临时移除一些边缘被转换为树。 **正交边缘路由 (Orthogonal Edge Router)** 正交边缘路由算法可以使用垂直和水平边缘段对图表的边缘进行路由,同时保持图表中节点的位置固定。路由后的边缘通常不会穿过任何节点。 **有机边缘路由 (Organic Edge Router)** 有机边缘路由算法以有机方式路由边缘,确保边缘不与节点重叠,并保持它们之间的最小距离。它特别适用于非正交、有机或循环布局样式。该算法基于力导向布局范式。节点对边缘产生排斥力,以确保节点和边缘之间的最小距离。边缘本身趋向于收缩。使用模拟退火算法,这会为每条边缘单独计算出边缘布局。 **移除重叠 (Remove Overlaps)** 移除重叠算法使用有机(力导向)布局策略来移除节点重叠,同时避免改变原始布局结构。该算法特别适用于移除有机布局方法生成的具有直线边缘的无向图绘图中的节点重叠。 ## 关于 yWorks [yWorks](https://www.yworks.com/) 是 [yFiles](https://www.yworks.com/products/yfiles) 系列图表软件组件的制造商,并拥有众多[优质工具](https://www.yworks.com/tools)。yFiles 图表软件组件使您能够将高质量的图表功能添加到自己的软件应用程序中:借助无与伦比的自动图表布局将数据转化为清晰的图表,为您的图表元素使用丰富的可视化效果,并为您的用户提供直观的界面以实现流畅的交互。yFiles 适用于广泛的平台和技术:从 [Web 应用程序](https://www.yworks.com/products/yfiles-for-html) 到 [跨平台 Java(FX)](https://www.yworks.com/products/yfiles-for-java),再到 Microsoft [.NET 环境](https://www.yworks.com/products/yfiles-wpf)。