菜单

实用工具和视觉定制

相关源文件

本页面介绍了 Apache ECharts 中可用的实用系统和视觉定制选项。这些实用工具提供了强大的机制,用于定制图表外观、处理不同视觉状态以及创建超越内置图表类型的自定义可视化效果。

有关特定图表类型的信息,请参阅图表类型。有关组件配置的信息,请参阅组件

概述

ECharts 提供了一套丰富的视觉定制实用工具,使开发者能够:

  1. 定制图表元素的显示外观
  2. 定义不同的视觉状态(normal, emphasis, blur)
  3. 创建自定义图形元素
  4. 实现自定义渲染逻辑
  5. 为状态之间的转换添加动画

下图展示了 ECharts 中的主要实用系统及其关系:

来源:test/hoverStyle.html, test/custom.html, test/symbol2.html

视觉状态系统

ECharts 使用基于状态的视觉定制系统,允许根据用户交互或程序控制对相同数据元素进行不同的视觉呈现。

状态类型

ECharts 支持以下几种主要的视觉状态:

状态管理描述触发器
normal默认外观默认状态
emphasis高亮外观鼠标悬停,API 高亮
blur弱化外观其他元素高亮时
select选中外观选中操作

每个图表元素在不同状态下都可以应用不同的样式,提供丰富的交互体验。

配置视觉状态

视觉状态通过系列或组件选项中的嵌套配置对象进行配置。

emphasis 状态的配置继承自 normal 状态,只需指定不同的属性即可。

来源:test/hoverStyle.html:79-101, test/hoverStyle.html:166-170

通过 API 控制状态

状态可以通过 ECharts 的 API 进行编程控制。

这使得除了用户交互之外,还可以通过编程方式控制视觉状态。

来源:test/hoverStyle.html:759-776, test/hoverStyle.html:969-988

悬浮层优化

ECharts 通过为强调元素使用专用悬浮层来优化渲染性能。

这种优化避免了仅有少数元素改变状态时重新渲染整个图表。

来源:test/hoverStyle.html:80-117, test/hoverStyle.html:166-187

图形工具

ECharts 提供了一套全面的图形实用工具,用于创建自定义可视化和扩展内置图表。

图形元素

图形实用工具包括多种基本形状和容器:

元素类型描述常见用例
group其他元素的容器复杂的自定义可视化
rect矩形形状条形图、背景、容器
circle圆形形状点、标记、指示器
line线段连接元素、误差条
polygon任意多边形自定义形状、区域
polyline连接的线段自定义路径、轨迹
text文本标签标注、描述
image图片元素自定义标记、图标

来源:test/custom.html:148-152, test/graphicRemove.html:70-81

自定义系列

图形实用工具可与自定义系列类型结合使用,以创建完全自定义的可视化效果。

renderItem”函数是自定义可视化的核心,它接收数据参数和实用工具 API。

来源:test/custom.html:130-153, test/custom.html:277-292

样式属性

图形元素支持丰富的样式属性集:

属性类别示例适用
填充 (Fill)fill, fillOpacity形状
描边stroke, lineWidth, lineDash所有形状
文本text, fontSize, textFill文本元素
阴影shadowBlur, shadowOffsetX, shadowColor所有元素
组合opacity, blend所有元素

来源:test/legend-borderColor.html:111-114, test/hoverStyle.html:401-431

动态图形更新

图形元素可以动态添加、更新或删除。

这使得能够构建响应用户操作或数据变化的动态交互式可视化效果。

来源:test/graphicRemove.html:87-94, test/custom-children-remove.html:152-158

标志系统

ECharts 中的标志系统允许自定义散点图、折线图和其他图表类型中使用的点标志。

内置标志类型

ECharts 提供了几种内置标志类型:

标志类型描述
'circle'标准圆形
'rect'矩形
'triangle'三角形
'diamond'菱形形状
'pin'大头针/标记形状
'arrow'箭头形状
'none'无标志

来源:test/symbol2.html:55, test/symbol2.html:109-111

标志定制

标志可以通过多种方式定制。

灵活的标志系统能够创建视觉上独特的、通过外观传达额外信息的数据点。

来源:test/symbol2.html:65-85, test/symbol2.html:108-116

标志在系列中的使用

不同系列类型以特定方式使用标志:

系列类型标志使用
scatter用于每个数据点
line用于线上的数据点
graph用于关系图中的节点
customrenderItem 中所定义

标志可以针对整个系列进行全局定制,也可以针对每个数据点单独定制。

来源:test/hoverStyle.html:509-516, test/legend-borderColor.html:106-115

视觉状态与动画

ECharts 提供了一个强大的系统,用于为视觉状态和其他属性变化之间的过渡添加动画。

动画配置

动画可以在多个层级进行配置。

不同的动画设置可以应用于图表的各个部分以及不同的状态转换。

来源:test/hoverStyle.html:213-219, test/custom.html:295-320

高亮状态动画

emphasis 状态通常包括以下动画效果:

  1. 放大标志
  2. 增加亮度/不透明度
  3. 改变颜色
  4. 添加或增强边框
  5. 重新定位标签

这些效果在用户交互期间提供视觉反馈。

来源:test/hoverStyle.html:595-610, test/hoverStyle.html:738-742

自定义动画

对于自定义可视化,动画可以明确地通过以下方式定义:

  1. 过渡属性
  2. 缓动函数
  3. 持续时间设置
  4. 延迟
  5. 交错动画

来源:test/custom.html:262-320

与图表组件集成

实用系统与 ECharts 的各种图表组件集成,以实现全面的视觉定制。

图例样式定制

图例可以通过各种视觉属性进行定制。

图例的视觉样式遵循其关联系列的标志和颜色定义。

来源:test/legend-borderColor.html:68-78, test/legend-borderColor.html:319-324

数据视觉映射

视觉映射允许数据值自动映射到视觉属性。

VisualMap 组件提供了强大的数据驱动视觉定制功能。

来源:test/hoverStyle.html:351-366, test/hoverStyle.html:443-457

最佳实践

性能优化

  1. 对于大型数据集,适当使用悬浮层
  2. 尽量减少不必要的样式更新
  3. 对于大型数据集,考虑使用更简单的标志
  4. 尽可能批量更新视觉效果

一致的视觉设计

  1. 使用协调的调色板
  2. 在图表间保持一致的高亮效果
  3. 遵循视觉层次原则
  4. 确保状态之间有足够的对比度

无障碍性考量

  1. 不要仅仅依靠颜色来传达状态
  2. 确保焦点状态可见
  3. 提供状态之间足够的尺寸差异
  4. 对于对运动敏感的用户,请考虑动画时机

结论

ECharts 的实用工具和视觉定制系统为创建具有视觉吸引力且交互性强的数据可视化提供了强大的工具。通过利用这些功能,开发者可以创建独特的图表设计,增强用户交互,并构建超越内置图表类型的完全自定义可视化效果。

有关特定视觉定制功能的详细实现,请参阅图形实用工具视觉状态与动画文档。