用途
Syncfusion React Accumulation Chart 是用于在 React 项目中实现 Syncfusion 累积图表(AccumulationChartComponent)的技能。它主要面向圆形与层级数据的可视化,包含四类图表:饼图(Pie)、环形图(Doughnut)、漏斗图(Funnel)和金字塔图(Pyramid)。当需要展示比例数据、百分比或分类数据的圆形布局,或需要展示层级与流程逐步收敛关系时,可使用该技能。
主要能力
该组件支持的主要图表类型包括:
- 饼图:将被分割为若干扇区以表示数据占比的圆形图表。
- 环形图:中心为空心(可配置内半径 innerRadius)的饼图。
- 漏斗图:展示逐步减少过程(如销售漏斗、转化率)的倒三角图。
- 金字塔图:展示层级数据(如人口金字塔、组织结构)的三角图。
关键特性包括:智能标签以避免重叠;按值或数据点数量分组;交互式工具提示与图例;用于强调的爆炸(explode)效果;自定义角度的半饼图;多级下钻;圆角边框;图案填充与自定义颜色。
文档覆盖的功能主题包括:入门安装与首个饼图;饼图与环形图(半径、圆心位置、内半径、半饼图、颜色与文本映射、边框圆角、悬停边框、图案填充、多级下钻、pointRender 事件);漏斗图与金字塔图(尺寸、颈部尺寸、段间隙 gapRatio、渲染模式、爆炸效果、智能标签);数据标签(显隐、位置、旋转、智能标签、格式、模板、连接线、文本映射、textRender、换行、百分比展示);图例(位置与对齐、顺序反转、形状、尺寸、分页、文本换行、点击切换动画、标题、自定义模板、布局);工具提示(启用、头部、格式字符串、映射、自定义模板、固定位置、样式);数据分组(按值阈值、按点数、分组模式、自定义名称与外观);注解(内容与模板、坐标定位、坐标单位、多注解、动态更新);自定义与样式(pointRender 点级定制、配色、每点填充、边框、图案填充、条件样式);无障碍(WCAG 2.1、键盘导航、ARIA、屏幕阅读器、高对比度、焦点指示);空数据点处理(null/undefined/NaN、Zero/Drop/Average/Gap 模式及外观);外观与主题(Material、Bootstrap、Fluent、Tailwind、Fabric 等内置主题、渐变填充、标题副标题、动态更新与动画、尺寸与响应式);导出与打印(PNG/JPEG/PDF/SVG、beforeExport 事件、打印、多图表导出、导出后事件、文件命名)。此外还提供 API 参考,涵盖组件属性、系列属性、方法、事件与注入模块要求。
使用方式
使用前需安装 @syncfusion/ej2-react-charts 包,并在 React 项目(Vite 或 Create React App)中导入 AccumulationChartComponent,注册 CSS 主题,然后进行数据绑定。系列配置遵循 AccumulationSeriesCollectionDirective 模式,通过 xName、yName、dataSource 配置基本系列。需通过 Inject 注入所需模块,例如 AccumulationLegend、AccumulationDataLabel、AccumulationTooltip,以及 PieSeries、FunnelSeries、PyramidSeries 等。
文档给出的最小饼图示例导入了 AccumulationChartComponent、AccumulationSeriesCollectionDirective、AccumulationSeriesDirective、Inject、AccumulationLegend、AccumulationDataLabel、AccumulationTooltip 和 PieSeries,并设置了 id、title、legendSettings、tooltip、enableSmartLabels,以及 dataLabel 的 visible、position、name。
常见模式还包括:带图例的环形图(设置 innerRadius='40%'、radius='100%');带数据标签的漏斗图(type='Funnel'、neckWidth、neckHeight、gapRatio、dataLabel);半饼图(startAngle=270、endAngle=90、innerRadius='40%');爆炸饼图(explode、explodeOffset、explodeIndex、explodeAll)。
主要方法包括 export(type, fileName)、print、calculateBounds、setAnnotationValue。主要事件包括 load、loaded、seriesRender、pointRender、textRender、legendRender、legendClick、annotationRender、tooltipRender、pointClick、pointMove 以及各类鼠标事件。
适用场景
适用于在 React 应用中展示比例占比、市场份额、转化漏斗、层级结构等数据的场景;需要交互式标签、图例、工具提示、下钻、导出打印或 WCAG 无障碍支持的数据可视化时。
限制
具体收费、价格、平台支持范围及性能限制暂未提供。