菜单

关系图和树图

相关源文件

本文档描述了 Apache ECharts 中图和树图的功能,重点介绍它们的架构、配置选项和使用模式。这些图表类型专门用于可视化数据点之间的关系、网络结构和分层数据。有关桑基图等其他基于关系的可视化信息,请参阅桑基图和流程图

图和树可视化概述

ECharts 中的图和树图旨在可视化连接的数据结构,其中实体之间的关系与实体本身同样重要。

来源:test/graph-simple.html43-159 test/graph-circular.html61-179

图表架构

ECharts 中的图表为网络可视化提供了灵活的框架。它实现了各种布局算法,并支持节点和边的广泛自定义。

来源:test/graph-simple.html43-159 test/graph-circular.html61-179

配置选项

基本图配置

ECharts 中的图系列通过在系列定义中设置 type: 'graph' 来配置。一个简单的图需要节点(数据)和它们之间的链接。

布局选项

ECharts 支持三种主要的图表布局类型

布局类型描述关键配置选项
无(默认)节点手动定位在节点对象中指定 xy 坐标
圆形节点呈圆形排列layout: 'circular', circular: { rotateLabel: true }
力引导布局基于物理的节点排列layout: 'force', force: { repulsion: 100 }

来源:test/graph-simple.html48-50 test/graph-circular.html67-70

节点和边样式

图表中的节点和边可以进行广泛的自定义

功能描述配置示例
节点大小节点符号的大小symbolSize: 20 或基于数据的函数
节点样式节点的视觉外观itemStyle: { opacity: 0.8, color: '#abc' }
边样式连接的外观lineStyle: { width: 3, curveness: 0.2 }
边符号边两端的符号edgeSymbol: ['circle', 'arrow']
标签节点/边的文本显示label: { show: true, position: 'right' }

来源:test/graph-simple.html51-99 test/graph-circular.html723-731

交互功能

图表支持多种交互功能

功能描述配置
漫游平移和缩放图表roam: true
聚焦节点邻近悬停时高亮显示连接的节点focusNodeAdjacency: true
动画动画过渡animationDurationUpdate: 1500
工具提示悬停时显示信息tooltip: {}

来源:test/graph-simple.html46-47 test/graph-circular.html72-722

数据结构

图表的内部数据结构由两个主要集合组成

来源:test/graph-simple.html75-92 test/graph-simple.html100-156

节点配置

节点可以使用以下属性进行配置

来源:test/graph-simple.html75-92

边配置

边(链接)使用以下属性进行配置

来源:test/graph-simple.html100-156

圆形布局

圆形布局将节点排列成一个圆圈,这对于某些网络可视化非常有用。此布局可以通过以下选项进行配置

来源:test/graph-circular.html66-70 test/graph-circular.html558-561

力引导布局

力引导布局使用物理模拟来排列节点,节点之间存在斥力,沿边存在引力。这创建了外观自然的网络可视化。

树图

树图专门用于分层数据可视化。它们使用父子关系来创建树结构。ECharts 提供了几种类型的树可视化

树图配置

ECharts 中的树图通过 tree 系列类型进行配置

最佳实践和常见用例

何时使用图表

  • 网络可视化(社交网络、网页链接)
  • 关系映射
  • 依赖关系可视化
  • 具有复杂关系的流程图

何时使用树图

  • 组织结构图
  • 文件系统可视化
  • 类别层次结构
  • 决策树

性能考量

  • 对于大型图(100+ 节点),请考虑
    • 使用更简单的符号
    • 禁用动画
    • 使用 WebGL 渲染器
    • 实现数据过滤

与 ECharts 组件集成

图和树图与 ECharts 的其他组件配合良好

组件集成说明
工具提示悬停时显示节点/边信息
图例可用于显示节点类别
数据区域缩放对图视图缩放的支持有限
视觉映射可以将节点值编码到视觉通道

来源:test/graph-simple.html45 test/graph-circular.html62-204

有关 ECharts 中其他基于关系的可视化,请参阅