SuperAPI AI 工具集

syncfusion-react-3d-chart

前端与建站

查看项目

更新于 10-14 20:25

技能介绍

用途

Syncfusion React 3D Chart 技能用于在 React 应用中实现和定制 Syncfusion 的 3D 图表组件。当需要创建三维柱状图、条形图或堆叠类图表,配置坐标轴、绑定数据源、调整三维外观、添加数据标签/图例/工具提示、实现选择交互、导出或打印图表,以及排查 3D 渲染或性能问题时,可以使用该技能。

主要能力

  • 图表类型:Column(垂直 3D 柱)、Bar(水平 3D 条)、Stacked Column、Stacked Bar、100% Stacked Column、100% Stacked Bar。
  • 坐标轴类型:Category(分类)、Numeric(数值)、DateTime(日期时间)、Logarithmic(对数)。
  • 数据操作:数据绑定、数据源结构要求、序列配置(xName、yName)、多序列处理、动态数据更新、空点处理。
  • 坐标轴定制:轴标题与标签、多轴(次 Y 轴)、轴线样式、网格线、刻度线、标签旋转与格式化、轴交叉值、反转轴。
  • 多窗格:多窗格概览、行配置与分布、窗格高度、序列分配到不同窗格、按窗格绑定轴。
  • 数据标签、图例与工具提示:标签配置与定位、标签模板与格式化、图例位置与定制、图例切换可见性、工具提示启用与格式化、自定义工具提示模板、共享工具提示。
  • 选择与交互:选择模式(Point、Series、Cluster)、单选与多选、选择事件与处理器、悬停高亮、选择样式。
  • 打印与导出:打印功能、导出为 PNG/JPEG/SVG、导出为 PDF、导出配置选项、文件命名约定、导出事件。
  • 外观与主题:内置主题(Material、Bootstrap、Fluent、Tailwind)、自定义主题、调色板、3D 旋转与倾斜角度、3D 深度配置、墙面定制、图表背景与边框、动画设置。
  • 无障碍:WCAG 2.1 合规、键盘导航、ARIA 属性、屏幕阅读器兼容、高对比度模式、焦点管理、无障碍配色。

使用方式

组件来自 @syncfusion/ej2-react-charts 包。主要组件包括:

  • Chart3DComponent:根 3D 图表容器
  • Chart3DSeriesCollectionDirective:序列集合包装器
  • Chart3DSeriesDirective:单个序列配置
  • Chart3DAxesDirective:多轴配置

快速开始示例:

import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { 
  Chart3DComponent, 
  Chart3DSeriesCollectionDirective, 
  Chart3DSeriesDirective,
  Inject,
  Category3D,
  ColumnSeries3D,
  Legend3D,
  DataLabel3D,
  Tooltip3D
} from '@syncfusion/ej2-react-charts';

function SalesChart() {
  const data = [
    { month: 'Jan', sales: 35 },
    { month: 'Feb', sales: 28 },
    { month: 'Mar', sales: 34 },
    { month: 'Apr', sales: 32 },
    { month: 'May', sales: 40 }
  ];

  return (
    <Chart3DComponent
      id='chart'
      title='Monthly Sales'
      primaryXAxis={{ valueType: 'Category' }}
      primaryYAxis={{ title: 'Sales (K)' }}
      enableRotation={true}
      rotation={7}
      tilt={10}
      depth={100}
    >
      <Inject services={[ColumnSeries3D, Category3D, Legend3D, DataLabel3D, Tooltip3D]} />
      <Chart3DSeriesCollectionDirective>
        <Chart3DSeriesDirective
          dataSource={data}
          xName='month'
          yName='sales'
          type='Column'
          name='Sales'
        />
      </Chart3DSeriesCollectionDirective>
    </Chart3DComponent>
  );
}

export default SalesChart;
ReactDOM.render(<SalesChart />, document.getElementById('charts'));

常见模式包括:基础柱状图、堆叠柱状图、水平条形图、带数据标签与图例、自定义 3D 旋转、多序列不同颜色等。

关键属性参考:

Chart3DComponent 属性:primaryXAxis(X 轴配置)、primaryYAxis(Y 轴配置)、rotation(水平旋转角度 0-360)、tilt(垂直倾斜角度 0-90)、depth(3D 深度 0-100)、enableRotation(启用鼠标旋转交互)、wallColor(3D 墙面颜色)、wallSize(墙边框厚度)、title(图表标题)、legendSettings(图例配置)、tooltip(工具提示设置)、palettes(序列颜色数组)。

Chart3DSeriesDirective 属性:dataSource(数据点数组)、xName(X 轴值属性名)、yName(Y 轴值属性名)、type(图表类型:'Column'、'Bar'、'StackingColumn'、'StackingBar'、'StackingColumn100'、'StackingBar100')、name(序列名称,显示在图例中)、dataLabel(数据标签配置)、fill(序列颜色)、opacity(序列不透明度 0-1)。

TypeScript 支持:所有组件均有完整类型定义,可按需导入类型,例如 Chart3DComponent、IChart3DLoadedEventArgs、IChart3DPointRenderEventArgs、Chart3DModel。

适用场景

  • 销售对比:用柱状图比较各产品月度/季度销售额
  • 调查结果:用条形图展示调查回复或排名
  • 市场份额:用堆叠柱状图展示市场分布
  • 时间序列:用日期时间轴可视化时间数据
  • 金融数据:用对数轴展示股价或指数增长
  • 多指标仪表板:用多窗格展示不同 KPI
  • 绩效跟踪:用 100% 堆叠图展示百分比贡献
  • 分类分析:用分类轴对离散数据分组
  • 交互式报告:通过选择和导出支持用户探索
  • 无障碍可视化:符合 WCAG 的图表

限制

资料未提供该组件的收费、价格、平台兼容性、性能上限等具体限制信息。排查问题时,资料建议检查包是否安装、CSS 主题导入、所需服务是否注入、xName/yName 是否匹配数据属性名、轴 valueType 是否匹配数据类型、数据源结构是否有效;性能问题可减少数据点、禁用动画、优化数据结构;3D 效果不生效时检查 enableRotation、rotation/tilt/depth 配置以及序列类型是否支持 3D。