SuperAPI AI 工具集

syncfusion-react-charts

前端与建站

查看项目

更新于 10-14 10:54

技能介绍

用途

Syncfusion React Charts 是一个数据可视化组件,用于在 React 应用中创建和渲染图表。该技能适用于以下场景:创建和渲染区域图、条形图、柱状图、折线图、散点图等图表;配置图表坐标轴并定制其外观;绑定本地数据、远程数据(DataManager),或使用 OData/WebAPI/自定义适配器;动态添加、删除或替换数据点(addPoint、removePoint、setData);定制图表外观(颜色、标签、图例、批注);配置数据标签(必须放在 marker.dataLabel 内,而非直接放在系列上);实现用户交互(选择、缩放、工具提示);启用 WebMCP 以便浏览器模型上下文和 AI 智能体检查并操作渲染后的图表;添加财务指标和技术分析;处理无障碍与国际化;排查图表渲染或数据问题。

主要能力

  • 20 多种图表类型(笛卡尔、极坐标、雷达、饼图、环形图等)
  • 多种坐标轴(分类、数值、日期时间、对数)
  • 财务指标和 K 线图
  • 高级交互(缩放、平移、十字准线、工具提示)
  • 响应式设计与无障碍支持
  • 打印和导出功能
  • WebMCP 集成,支持自动工具注册、所选工具允许列表、执行控制以及 AI 智能体访问

使用方式

该技能以文档参考和代码示例的形式提供指导。推荐的参考文档包括:

  • API 参考:ChartComponent 属性、方法与事件、SeriesDirective 属性、模型接口、模块服务等完整参考。
  • 快速入门:安装与包设置、创建第一个图表、CSS 导入与主题配置、基础示例、包结构概览。
  • 图表类型:20 多种类型概览、各类型适用场景、常见类型基础示例、类型专属配置。
  • 坐标轴与定制:分类/数值/日期时间/对数坐标轴、标签与格式化、多坐标轴、范围与间隔、交叉与定位。
  • 系列与数据:系列配置、本地数据绑定、通过 DataManager 远程绑定、ODataAdaptor/ODataV4Adaptor/WebApiAdaptor/自定义适配器、离线模式与懒加载、通过 addPoint/removePoint/setData 或 React state 动态更新、多系列处理、数据校验与边界情况。
  • 外观与样式:图例配置与定位、数据标签与格式化、图表批注、渐变与颜色定制、标题/副标题/描述样式。
  • 用户交互:选择与高亮、缩放与平移、工具提示与十字准线、图表同步、事件处理模式。
  • WebMCP 与 AI 智能体集成:生成完整 React Chart WebMCP 示例;导入并注入 WebMcpChart;设置 enableWebMcp={true} 并使用稳定的 ChartComponent ID;配置 webMcpSettings.name、tools 和 exposedTo;自动注册全部内置工具,或通过已验证的工具名允许列表限制注册;getWebMcpTools() 仅用于诊断、测试或直接执行;使用 beforeWebMcpToolExecute 进行校验、取消或控制确认;保留 WebMCP 参考示例定义的模块注入列表;不要生成手动注册按钮或调用 registerWebMcpTools();对照已验证的内置工具列表校验生成工具名。
  • 高级功能:财务图表类型(K 线、HLOC、高低)、技术指标(移动平均、趋势线等)、多窗格与指标窗格、无障碍(WCAG 合规、键盘导航)、国际化与本地化。

快速开始示例:

import { ChartComponent, SeriesCollectionDirective, SeriesDirective, Inject, LineSeries, Category, Legend, Tooltip } from '@syncfusion/ej2-react-charts';

export default function BasicChart() {
  const data = [
    { x: 'Jan', y: 35 },
    { x: 'Feb', y: 28 },
    { x: 'Mar', y: 34 },
    { x: 'Apr', y: 32 },
    { x: 'May', y: 40 }
  ];

  return (
    <ChartComponent id='charts'>
      <Inject services={[LineSeries, Category, Legend, Tooltip]} />
      <SeriesCollectionDirective>
        <SeriesDirective dataSource={data} xName='x' yName='y' type='Line' />
      </SeriesCollectionDirective>
    </ChartComponent>
  );
}

常见模式包括:

  • 多系列图表:在 SeriesCollectionDirective 内添加多个 SeriesDirective,用于展示共享坐标轴的多个数据集。
  • 动态数据更新:三种方式——a) React state(简单重渲染);b) addPoint/removePoint/setData(命令式,带画);c) 远程数据绑定。
  • 远程数据绑定:使用 DataManager 与适配器从 REST API 或 OData 服务绑定数据,如 WebApiAdaptor;其他适配器包括 ODataAdaptor(OData v3)、ODataV4Adaptor(OData v4),以及通过扩展 ODataAdaptor 实现的自定义适配器。
  • 数据标签:必须放在 marker.dataLabel 内,需注入 DataLabel 服务。
  • 自定义工具提示:使用格式化模板增强体验。
  • 响应式设计:使用容器样式使图表响应式,例如 width='100%' height='400px'。

适用场景

  • 销售仪表盘:柱状图展示收入与折线图展示趋势组合。
  • 时间序列分析:使用日期时间坐标轴与折线图处理时间数据。
  • 对比分析:多系列柱状图比较类别。
  • 财务分析:K 线图搭配移动平均指标。
  • 分布分析:直方图或箱线图处理统计数据。
  • 实时监控:使用 addPoint/removePoint 实现平滑动画的实时数据流。
  • REST API 远程数据:将 DataManager 与 WebApiAdaptor 或 ODataAdaptor 直接绑定到系列。
  • 服务端 OData:使用 ODataV4Adaptor 和 Query 在服务端过滤和分页。

限制

资料中未提供关于收费、价格、平台兼容版本、性能上限或效果保证的具体信息。使用前请参考官方 API 文档、在线演示和 GitHub 仓库以获取最新细节。

外部资源:

  • 官方 API 文档:https://ej2.syncfusion.com/react/documentation/api/chart/
  • 在线演示:https://ej2.syncfusion.com/react/demos/
  • GitHub 仓库:https://github.com/syncfusion/ej2-react-ui-components