生产厂商:yWorks产品类别:其他软件
yFiles 用于数据可视化的软件开发工具包,是业界领先的软件库,适用于 图表。20 多年来,公司和机构一直在使用此 SDK 来 描述 、 编辑和分析其连接的数据。
由于 yFiles 支持各种平台,包括 HTML、Java 和 .NET等,迎合了多样化的开发环境。深入挖掘其丰富的功能集,探索大量展示其多功能的用例,并见证其跨应用程序和平台的无缝集成可能性。借助 yFiles 来提升您的图形可视化体验——来解锁一个充满无限可能的图表与图形分析的世界。
yFiles 产品系列涵盖了广泛的平台和部署方案:从 Web 应用程序、跨平台 Java(FX)到 Microsoft .NET 环境。这些组件共享相同的总体架构(即它们使用相同的概念),而且在不同的平台和技术中具有非常相似的 API。由于图形分析算法和自动布局算法的基础相同,因此在不同平台上的应用程序之间,分析和布局结果几乎相同。

图形、图表和网络的可视化
yFiles 为节点、边、标签和端口提供了丰富的可视化效果,以及用于样式选择和突出显示的选项。如果默认可视化未涵盖所需的可视化效果,则可以轻松创建完全自定义的可视化效果。
不同用例的可视化效果
yFiles 库和随附的演示为许多不同的用例提供了开箱即用的可视化效果,例如:
· 组织结构图
· 业务流程建模
· UML 类图
· 活动图流程图
· 思维导图
· 欺诈检测
· 计算机网络
· 结构社交网络
· 依赖关系分析
· 数据库建模
· 软件工程
· 生化途径
· 生化反应网络
· 用例图
· 语义网络
· 文件系统可视化
· 族谱

丰富的内置边缘可视化
yFiles 提供了几个预定义的边缘可视化,允许进一步自定义。所有边缘样式都支持两端的箭头,以及具有粗细、颜色、虚线和线帽设置的笔触。预定义样式支持将边绘制为圆弧或多段线。此外,每种样式都有其独特的设置,例如圆角或弧形高度。
图表动画
yFiles 还提供动画,用于将图形从一种状态平滑过渡到另一种状态,例如重新计算布局时。
数据绑定
可视化效果可以与附加到图形项的自定义业务数据相关联。例如,组织结构图中员工的节点样式可以直接从相关数据中轻松显示员工的姓名、职位和其他详细信息。
可定制的装饰,用于选择、聚焦和突出显示
yFiles 提供在选择、聚焦或突出显示图形项时显示的装饰。它们可以单独禁用,也可以更改为不同的颜色,或者根据需要用完全自定义的东西替换。
详细程度的可视化
通过仅显示特定缩放级别的可识别元素来提高图表理解能力。细节级别渲染隐藏了不可读或不必要的视觉效果,为更清晰的整体画面腾出了空间。轻松将现有样式包装在完全可控的细节级别渲染中,并极大地提高图表理解(和性能),即使对于大型数据模型也是如此。
复杂的标签渲染
轻松向节点和边添加文本标签以显示附加信息。各种放置选项(例如节点内部或外部或源或目标附近的边缘)可确保标签保持正确定位,即使在项目移动时也是如此。
用桥梁解开边缘交叉点
交叉边缘会使复杂的图表更难阅读。桥梁阐明了这些边缘所采取的路径。yFiles 提供了多种桥接样式和交叉策略,用于确定线路应如何相互桥接或交叉。
自定义视觉对象,用于向图表添加辅助信息
画布不仅限于节点、边缘、端口和标签。可以在后台添加任意可视化效果,也可以在其他图形项之上添加可视化效果。添加自定义背景、品牌徽标、图例、标尺,甚至是捕捉线等动态助手,有助于使 yFiles 驱动的应用程序脱颖而出。
图表元素的 Z 顺序
图表元素相对于彼此的绘制可以轻松更改。例如,只需更改其顺序即可将边更改为显示在节点上方而不是下方。
样式实现教程
这些分步教程将指导您完成节点、边、标签和端口的自定义样式的实现。除了主要可视化之外,每个教程还涵盖相关主题,例如命中测试、性能优化、动画、业务数据集成和边缘桥接支持。
图表功能
当然,所有图表都由节点和边组成。yFiles 添加了许多独特的功能,有助于使用它们,尤其是当它们变得越来越大时。通过分组和折叠,可以折叠和展开图表的各个部分。泳道直观地将图表的各个部分分组为行和列。筛选可以暂时隐藏当前视图中不重要的元素。各种导入和导出功能使数据进入和导出图表变得容易。
分组和折叠
yFiles 支持将节点分组到其他节点中。Edge 仍然可以自由连接到其中任何一个,包括组与其子项之间或不同组的子项之间的连接。折叠组节点会隐藏该组的子元素,当组再次展开时,它们将被恢复。当组折叠或展开时,可以执行自定义作,例如运行增量布局算法,或提取数据以在展开的组节点中创建子节点。
滤波
通过隐藏不太重要的部分来提高大型和复杂图表的可读性。这与上面的折叠类似,但与节点之间具有显式父子关系无关。
工作流图表
BPMN 等图表类型使用工作流将活动直观地与角色相关联。yFiles 支持工作流通用表格结构,可在其中放置图表项目,自动布局也支持它们。
数据输入和输出
从任何结构化数据源(如 CSV、JSON、XML、 数据库等)轻松快速地构建图表。本机支持使用标准图形交换格式 GraphML 加载和保存图表,包括样式、分组、折叠和所有其他 yFiles 功能的信息。

图像导出
yFiles 使您能够将图表导出为流行的图像和图形格式,以及打印它们。请注意,并非每个 yFiles 变体都支持所有格式。
位图图像
将图表导出为常见的位图图像格式,例如 PNG、JPEG、BMP 和 GIF。
PDF 和矢量图形
从 yFiles 图创建矢量图形,例如 PDF、SVG、EMF 和 XPS。
VSDX
使用 VSDX Export for yFiles for HTML 插件将图形导出为 VSDX 格式。VSDX 是 Microsoft Visio® 使用的图表文件格式。
用户交互
除了显示图表之外,yFiles 还提供多种交互可能性。具有方便的默认交互模式,允许用户通过平移和缩放在图表中导航。或者,您可以设置一个完整的图表编辑器来创建和编辑图表,只需一行代码。当然,有关交互的所有内容都可以根据您的要求进行广泛定制,如果内置手势还不够,则可以轻松添加自定义交互。
导航
缩放、平移和滚动是内置功能,在触摸和鼠标上一样好。所有这些功能都可以定制,以完美适应您的应用。例如,您可以更改是否或如何调用这些手势,还可以限制缩放级别或可视区域。
交互式图表创建
yFiles 包括一种交互模式,旨在创建直观且可定制的图表,适用于各种特定领域。例如,可以将边创建限制为仅连接兼容实体。对于不应标记的项目,可以禁用标签编辑。调整某些节点(例如,显示图像的节点不应扭曲)或将项目组合在一起时,请保持纵横比。定制的可能性几乎是无限的。所有这些功能都适用于触摸和鼠标,许多常见作也存在可自定义的键盘快捷键。
项目选择
只需单击一下即可选择项目,或使用选框(橡皮筋)选择,通过单个手势选择多个项目。所选项目可以作为一个项目进行作和移动。选择过程是高度可定制的,允许添加自定义业务规则来确定可以选择哪些项目以及在什么条件下。
完全支持键盘、鼠标和触摸
yFiles 为与交互相关的所有内容提供细粒度事件。这包括按键和鼠标移动等低级事件,但也包括高级事件,例如,当边缘创建手势开始或结束时,或者当选择项目时。侦听任何事件并触发自定义作,作为自定义体验的轻量级方式,或使图表与底层业务模型保持同步。
拖放
创建拖放调色板,用户可以从中将新元素拖放到图表中。yFiles 完全支持删除图表项;唯一需要的是一个包含所需项目的调色板。将节点拖放到组节点中也会自动将新节点创建为组的子节点。还支持在手势期间对齐有助于对齐新项目的线条。
捕捉
手动对齐节点和边缘可能既麻烦又耗时,即使这样也不会是像素完美的。捕捉在手势期间显示其他元素附近的视觉参考线,以简化对齐。确保一个节点与图中的其他节点具有相同的高度就像将一个节点对齐到另外两个节点的精确中心或创建正交的边一样简单。另一种类型的捕捉是捕捉到网格,这有助于对齐常规网格中的节点和边缘。可以自定义网格大小以及哪些元素应捕捉到网格。如果这还不够,那么还可以添加自定义捕捉选项,例如实现指南。
正交边编辑
虽然捕捉有助于创建仅具有 90° 弯曲的边,但在移动两端的节点时会丢失该属性,并且捕捉也不能保证边始终是正交的。正交边编辑可确保无论如何编辑图表,正交边都将保持这种状态。也可以在不破坏其方向的情况下移动边缘段。
撤消和重做
yFiles 为撤消和重做图表修改提供全面支持。图表中可以更改的所有内容也可以撤消。
修改可以是单个更改,例如添加节点或复合更改,其中许多项目同时更改,例如移动多个项目。可以撤消的作数量没有限制,可用内存除外。
上下文菜单
yFiles 支持可以动态填充的任意图表项的上下文菜单。这样,每个项目都可以具有特定于该项目的上下文菜单。
剪贴板
剪贴板开箱即用,支持所有常见的剪贴板作,如剪切、复制、粘贴和复制。剪贴板还可以处理许多高级方案,例如将标签复制到其他项目或自动复制复制节点之间的边缘。剪贴板的各个方面都可以自定义,甚至可以在复制或粘贴某些项目时添加自定义作。
工具提示
轻松将工具提示添加到将鼠标指针悬停在相应项上时显示的图表项。工具提示可以根据与项关联的业务数据动态生成,而不必是静态的。
连接到其他的边
通常,图形中的边仅将节点连接到其他节点。但是,yFiles 还支持将边连接到其他边。yFiles 图模型直接支持这一点,确保在修改或移动边时连接点进行相应调整。
自动图形布局
yFiles 具有高效且高度可定制的自动布局算法。不同的布局样式负责根据不同的优化标准确定所有图表元素的位置。包括多种布局样式:分层、有机(力定向)、树形、正交、圆形、径向和串联并联。关系图元素标签通常可以通过选定的布局算法或独立于布局算法的特定标记算法直接放置。所有布局算法都可以以动画方式应用于图表。每个布局算法的几乎所有方面都可以自定义以适应特定的领域和用例。
层次布局
分层布局样式将节点按图层排列,以便大多数边指向主布局方向。此布局有效地突出显示了关系图中节点之间的依赖关系和关系。因此,它非常适合工作流程可视化、流程可视化、调用图可视化、实体关系图、生化途径、网络管理和泳道图。
有机布局
有机布局样式使用力导向方法以自然的方式分布节点。此布局揭示了图中的聚类和对称性。它适用于生物信息学、企业网络、社交网络图、网格可视化或系统管理中的大型网络。
树布局
yFiles 支持具有树结构的图表的不同布局样式。这可以是一种有机外观的样式,将树组织成根节点周围的星形结构。或者高度灵活的布局样式,将树分层排列。布局能够揭示图中可能的层次结构关系。它们用于可视化关系数据、数据流分析、软件工程、生物信息学和工商管理。
正交布局
该算法生成具有正交边且没有固有方向的紧凑布局。这样可以清晰地表示复杂的网络。正交图用于软件工程、数据库模式表示、系统管理、知识表示、VLSI 电路和平面规划应用。
圆形布局
节点以圆形和星形结构排列,以强调逻辑示意图中的组和树结构。圆形布局用于许多领域,例如社交网络、网络管理、WWW 可视化、电子商务和电信。
径向布局
径向布局样式将节点排列成同心圆。每个子节点都放置在比其父节点更大的圆上。这种布局样式非常适合具有许多父子关系的图表。如果图变大,圆圈也会变大。它可以应用于可视化社交网络、数据聚类和生物信息学。
串并联布局
这种布局样式将某些图表排列成串行和并行的子结构。紧凑的布局突出显示了有向图中的主要方向。它非常适合可视化电路、调用树或流程图。

边缘路由算法
边缘路由算法在不移动节点的情况下为边缘计算合适的路径。通常,目标是找到边的最佳路径,以便它们不会越过任何节点(如果可能)。yFiles 支持不同的布线样式,例如正交或多段线、正交总线和有机布线。
正交和多段线边布线
该算法为现有布局中的部分或所有边计算新路径。这些路径由水平和垂直段组成,交叉和弯曲尽可能少。该路线适用于电路设计、平面规划和导航地图。
总线路线
该算法将非常密集的图表中的边捆绑到总线中。计算路径时,它们共享尽可能多的部分。结果使图表变得清晰,并更容易跟踪边缘。
有机边缘路由
这种力定向算法围绕固定节点布置弯曲的边。它可以用作布局算法的后处理,这些算法在边与节点相交的地方产生直线边。
常见布局功能
上面提到的每种布局算法都是高度可单独配置的,但它们也具有几个共同的功能。它们可以计算包含组节点或泳道的逻辑示意图的布局,并允许限制边进入或退出节点的特定侧。增量布局通过最大限度地减少添加或删除元素时的更改来保留用户对图表的心理图,从而确保图表尽可能保持一致。
增量布局
插入新节点和边时,保留图表的思维图。某些布局算法提供了一种增量模式,该模式使大多数现有布局保持不变,并将其他节点适当地插入到此预先存在的布局中。
部分布局
部分布局提供了一种灵活的方法来将图表的特定部分保持在适当的位置,同时重新计算所选项目的布局并将其集成到整体图表中。它还允许对这些固定部件应用不同的布局样式。
轻松调整布局算法
配置布局算法以满足您的特定要求。每种算法都提供了广泛的配置选项,可以满足最复杂的布局需求。
动画布局更改
计算新布局并应用带有动画的结果。通过对图表中的更改进行动画处理,在不同布局之间轻松过渡。
布局时间限制
限制布局计算的时间。布局算法可以在一定时间后停止。它们可能会以有效但可能质量较低的布局完成,或者在没有产生结果的情况下中止。
受限端口位置
限制允许每条边连接到节点的方向甚至确切位置。还可以轻松组合此类限制,以指定一组可由布局算法选择的有效端口位置。
边缘组
连接到同一源节点或目标节点的 Edge 可以捆绑到一个 Edge 组中。边缘组共享前几个或最后几个线段,这减少了视觉上的混乱,并更容易跟踪边缘的路径。
捆绑边
在某些逻辑示意图中,可能存在许多边,尤其是在紧密排列的结构中。边缘捆绑会产生有机的边缘路径,其中具有相似路线的边缘被拉得更近。这种方法通常用于生物信息学、社交网络分析、电信和欺诈检测。
标签放置
大多数布局算法可以在节点和边缘上容纳标签,保留空间将它们放置在相应的元素附近,而不会导致重叠。如果这种方法不可行,可以使用通用标记算法。与边布线类似,边缘布线仅更改边路径而不修改任何其他内容,然后根据提供的设置在单独的步骤中放置标签,而不更改节点位置或边路径。
分组图
当关系图包含组节点时,这些节点不应重叠,并且它们的内容应紧密地放置在一起,以便它们在视觉上仍显示为分组。大多数布局算法都支持根据这些标准放置组节点。甚至可以对每个组的内容使用不同的布局样式。
工作流表
有时,流程最好在表格或工作流中可视化。特别是分层布局,支持将节点分配给类似网格的结构。节点顺序受到约束,避免了通过行和列的复杂边路径。

高效的图分析算法
yFiles 不仅允许您创建、编辑、显示和排列图表。还有许多分析算法可以确定常见的结构特征(例如连通性、循环、图是否是树等等)、寻路和可达性、聚类和中心性度量、图遍历等等。
图形特征
检查图形的常见特征,例如确定图形是循环的还是非循环的、连通的、平面的还是二分的。您还可以确定图形是否表现出树形或串并联结构,以及其他分析。
寻找路径
yFiles 提供了多种算法来查找图中的路径,无论是最短路径、任意两个节点之间的路径还是有向或无向图中的链。寻路问题经常发生在地理应用中,例如在地图上查找路线。
中心性措施
中心性度量显示图中每个节点的重要性。例如,这可用于以不同的方式对齐节点,或通过其大小或颜色标记其重要性。中心性可以应用于社交网络分析,例如寻找最有影响力的人或其他类型的网络,例如寻找互联网上的关键基础设施节点。
连接性和可达性
yFiles 包括用于在图形中查找连接组件或确定节点是否可以通过边路径从另一个节点到达的算法。此类算法可以应用于网络分析。
聚类
通过应用聚类算法发现图中某些节点形成密切关系的结构。这在社交网络图表和许多其他领域中可能是一个有趣的衡量标准。
传递闭包和传递减少
计算传递闭包和约简,以接收有向无环图的直接可达性信息。
生成树
yFiles 允许您轻松计算具有到达所有节点所需的最小边集的子图,同时还可以最大限度地降低成本。这些树用于计算机网络、电信网络和电网的设计。
周期
查找属于有向图和无向图中循环的边。
网络流
解决经典网络流问题,例如网络中的最大流量、最小成本和最大流量/最小切割,其中边具有一定的容量,并且流通过边从源节点移动到接收器节点。流量算法可以应用于许多涉及网络的问题,例如供水、电力、互联网或航运,以提高网络的效率。








