syncfusion-angular-circular-3d-chart

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Implementing Syncfusion Angular Circular 3D Chart

实现Syncfusion Angular 3D环形图表

When to Use This Skill

适用场景

Use this skill when you need to:
  • Create a 3D circular chart from scratch in an Angular application
  • Display pie and donut charts for proportional data visualization
  • Add and customize data labels with positioning and templates
  • Handle empty data points gracefully in your chart
  • Configure tooltips with custom formatting and templates
  • Set up and customize legends for chart interactivity
  • Add titles and subtitles to your visualizations
  • Export or print charts as images or PDFs
  • Ensure accessibility for keyboard navigation and screen readers

当你需要以下功能时,可使用此技能:
  • 在Angular应用中从零开始创建3D环形图表
  • 展示饼图与甜甜圈图以实现比例数据可视化
  • 添加并自定义数据标签,支持定位与模板设置
  • 优雅处理空数据点
  • 配置工具提示,支持自定义格式与模板
  • 设置并自定义图例以提升图表交互性
  • 为可视化图表添加标题与副标题
  • 将图表导出或打印为图片或PDF格式
  • 确保可访问性,支持键盘导航与屏幕阅读器

Component Overview

组件概述

The Syncfusion Angular Circular 3D Chart component provides a powerful solution for creating three-dimensional pie and donut chart visualizations. It supports multiple data representations with interactive features including smart label positioning, custom data label templates, tooltip formatting, and comprehensive export capabilities. The component is designed for Angular 21+ with standalone architecture and includes accessibility features for inclusive user experiences.
Syncfusion Angular 3D环形图表组件为创建三维饼图与甜甜圈图可视化提供了强大解决方案。它支持多种数据展示方式,并具备交互式功能,包括智能标签定位、自定义数据标签模板、工具提示格式化以及全面的导出能力。该组件专为Angular 21+的独立架构设计,并包含可访问性功能,以实现包容性用户体验。

Key Capabilities

核心能力

  • Chart Types: Pie and Donut charts with 3D perspective
  • Data Labels: Automatic positioning, custom templates, connector lines, formatting options
  • Empty Points: Intelligent handling of missing or zero-value data points
  • Tooltips: Custom formatting, headers, and HTML templates
  • Legends: Configurable positioning, interactions, and styling
  • Titles: Main title and subtitle support with customization
  • Export/Print: PNG, SVG, PDF formats with high-quality output
  • Accessibility: WCAG compliance, keyboard navigation, ARIA attributes

  • 图表类型: 带3D视角的饼图与甜甜圈图
  • 数据标签: 自动定位、自定义模板、连接线、格式化选项
  • 空值点: 智能处理缺失或零值数据点
  • 工具提示: 自定义格式、标题与HTML模板
  • 图例: 可配置的定位、交互与样式
  • 标题: 支持主标题与副标题的自定义设置
  • 导出/打印: 支持PNG、SVG、PDF格式的高质量输出
  • 可访问性: 符合WCAG标准、支持键盘导航、ARIA属性

Documentation and Navigation Guide

文档与导航指南

API Reference

API参考

📄 Read: references/api-reference.md
📄 阅读: references/api-reference.md

Getting Started

快速入门

📄 Read: references/getting-started.md
  • Installation and package setup
  • Create your first 3D circular chart
  • Basic component configuration
  • CSS and theme imports
  • Minimal working example
📄 阅读: references/getting-started.md
  • 安装与包配置
  • 创建你的第一个3D环形图表
  • 基础组件配置
  • CSS与主题导入
  • 最简运行示例

Pie vs Donut Configuration

饼图与甜甜圈图配置

📄 Read: references/pie-donut-types.md
  • Pie chart implementation
  • Donut chart implementation with innerRadius
  • Converting between chart types
  • Radius customization and various radius charts
  • Series configuration and data mapping
  • Point color mapping from data source
📄 阅读: references/pie-donut-types.md
  • 饼图实现
  • 带innerRadius的甜甜圈图实现
  • 图表类型转换
  • 半径自定义与各类半径图表
  • 系列配置与数据映射
  • 从数据源映射点颜色

Data Labels & Empty Points

数据标签与空值点

📄 Read: references/data-labels-empty-points.md
  • Enable and position data labels (inside/outside)
  • Data label formatting with templates
  • Connector line customization
  • Empty point detection and handling
  • Point color customization
  • Conditional display strategies
📄 阅读: references/data-labels-empty-points.md
  • 启用并定位数据标签(内部/外部)
  • 带模板的数据标签格式化
  • 连接线自定义
  • 空值点检测与处理
  • 点颜色自定义
  • 条件显示策略

Interactivity: Tooltips, Legends & Selection

交互性:工具提示、图例与选择

📄 Read: references/interactivity-legends-tooltips.md
  • Enable and configure tooltips
  • Tooltip headers and custom formatting
  • Tooltip templates with HTML
  • Legend positioning and customization
  • Legend interactions (show/hide series)
  • Point and series selection
📄 阅读: references/interactivity-legends-tooltips.md
  • 启用并配置工具提示
  • 工具提示标题与自定义格式化
  • 带HTML的工具提示模板
  • 图例定位与自定义
  • 图例交互(显示/隐藏系列)
  • 点与系列选择

Appearance, Titles & Styling

外观、标题与样式

📄 Read: references/appearance-titles-styling.md
  • Title and subtitle configuration
  • Custom color palettes for series
  • Point color customization
  • Series styling options
  • Theme application and customization
  • Border and fill styling
📄 阅读: references/appearance-titles-styling.md
  • 标题与副标题配置
  • 系列自定义调色板
  • 点颜色自定义
  • 系列样式选项
  • 主题应用与自定义
  • 边框与填充样式

Print, Export & Accessibility

打印、导出与可访问性

📄 Read: references/print-export-accessibility.md
  • Export charts as PNG, SVG, PDF
  • Print functionality configuration
  • WCAG 2.1 compliance guidelines
  • Keyboard navigation support
  • ARIA attributes and labels
  • Screen reader optimization

📄 阅读: references/print-export-accessibility.md
  • 将图表导出为PNG、SVG、PDF格式
  • 打印功能配置
  • WCAG 2.1合规指南
  • 键盘导航支持
  • ARIA属性与标签
  • 屏幕阅读器优化

Quick Start Example

快速入门示例

Here's a minimal example to get you started:
typescript
import { Component } from '@angular/core';
import { CircularChart3DComponent, CircularChartSeriesCollectionDirective, CircularChartSeriesDirective } from '@syncfusion/ej2-angular-charts';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [CircularChart3DComponent, CircularChartSeriesCollectionDirective, CircularChartSeriesDirective],
  template: `
    <ejs-circularchart3d id="container" [tooltip]="{ enable: true }">
      <e-circularchart3d-series-collection>
        <e-circularchart3d-series [dataSource]="chartData" xName="x" yName="y" type="Pie">
        </e-circularchart3d-series>
      </e-circularchart3d-series-collection>
    </ejs-circularchart3d>
  `
})
export class AppComponent {
  chartData = [
    { x: 'Product A', y: 25 },
    { x: 'Product B', y: 20 },
    { x: 'Product C', y: 30 },
    { x: 'Product D', y: 25 }
  ];
}

以下是一个最简入门示例:
typescript
import { Component } from '@angular/core';
import { CircularChart3DComponent, CircularChartSeriesCollectionDirective, CircularChartSeriesDirective } from '@syncfusion/ej2-angular-charts';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [CircularChart3DComponent, CircularChartSeriesCollectionDirective, CircularChartSeriesDirective],
  template: `
    <ejs-circularchart3d id="container" [tooltip]="{ enable: true }">
      <e-circularchart3d-series-collection>
        <e-circularchart3d-series [dataSource]="chartData" xName="x" yName="y" type="Pie">
        </e-circularchart3d-series>
      </e-circularchart3d-series-collection>
    </ejs-circularchart3d>
  `
})
export class AppComponent {
  chartData = [
    { x: 'Product A', y: 25 },
    { x: 'Product B', y: 20 },
    { x: 'Product C', y: 30 },
    { x: 'Product D', y: 25 }
  ];
}

Common Patterns

常见模式

Pattern 1: Pie Chart with Data Labels

模式1:带数据标签的饼图

When user needs proportional data visualization with clear labels:
typescript
@Component({
  template: `
    <ejs-circularchart3d>
      <e-circularchart3d-series-collection>
        <e-circularchart3d-series 
          [dataSource]="data" 
          xName="name" 
          yName="value" 
          type="Pie"
          [dataLabel]="{ visible: true, position: 'Outside', name: 'x' }">
        </e-circularchart3d-series>
      </e-circularchart3d-series-collection>
    </ejs-circularchart3d>
  `
})
export class PieChartComponent {
  data = [
    { name: 'Sales', value: 40 },
    { name: 'Marketing', value: 30 },
    { name: 'Support', value: 20 },
    { name: 'Operations', value: 10 }
  ];
}
当用户需要带清晰标签的比例数据可视化时:
typescript
@Component({
  template: `
    <ejs-circularchart3d>
      <e-circularchart3d-series-collection>
        <e-circularchart3d-series 
          [dataSource]="data" 
          xName="name" 
          yName="value" 
          type="Pie"
          [dataLabel]="{ visible: true, position: 'Outside', name: 'x' }">
        </e-circularchart3d-series>
      </e-circularchart3d-series-collection>
    </ejs-circularchart3d>
  `
})
export class PieChartComponent {
  data = [
    { name: 'Sales', value: 40 },
    { name: 'Marketing', value: 30 },
    { name: 'Support', value: 20 },
    { name: 'Operations', value: 10 }
  ];
}

Pattern 2: Donut Chart with Legend and Tooltip

模式2:带图例与工具提示的甜甜圈图

When user needs donut visualization with interactivity:
typescript
export class DonutChartComponent {
  @ViewChild('chart')
  public chart!: CircularChart3DComponent;

  data = [
    { x: 'Chrome', y: 45, color: '#5DADE2' },
    { x: 'Firefox', y: 25, color: '#F39C12' },
    { x: 'Safari', y: 20, color: '#48C9B0' },
    { x: 'Edge', y: 10, color: '#E74C3C' }
  ];

  seriesSettings = {
    dataSource: this.data,
    xName: 'x',
    yName: 'y',
    pointColorMapping: 'color',
    innerRadius: '50%',
    type: 'Pie'
  };

  tooltipSettings = {
    enable: true,
    format: '${point.x}: ${point.y}%'
  };

  legendSettings = {
    visible: true,
    position: 'Bottom'
  };
}
当用户需要带交互性的甜甜圈可视化时:
typescript
export class DonutChartComponent {
  @ViewChild('chart')
  public chart!: CircularChart3DComponent;

  data = [
    { x: 'Chrome', y: 45, color: '#5DADE2' },
    { x: 'Firefox', y: 25, color: '#F39C12' },
    { x: 'Safari', y: 20, color: '#48C9B0' },
    { x: 'Edge', y: 10, color: '#E74C3C' }
  ];

  seriesSettings = {
    dataSource: this.data,
    xName: 'x',
    yName: 'y',
    pointColorMapping: 'color',
    innerRadius: '50%',
    type: 'Pie'
  };

  tooltipSettings = {
    enable: true,
    format: '${point.x}: ${point.y}%'
  };

  legendSettings = {
    visible: true,
    position: 'Bottom'
  };
}

Pattern 3: Chart with Custom Data Label Templates

模式3:带自定义数据标签模板的图表

When user needs formatted labels with dynamic values:
typescript
export class CustomLabelChartComponent {
  data = [
    { category: 'Jan', sales: 35 },
    { category: 'Feb', sales: 28 },
    { category: 'Mar', sales: 34 }
  ];

  dataLabelTemplate = '<div>${point.x}: ${point.y}K</div>';

  dataLabelSettings = {
    visible: true,
    template: this.dataLabelTemplate,
    position: 'Outside'
  };
}

当用户需要带动态值的格式化标签时:
typescript
export class CustomLabelChartComponent {
  data = [
    { category: 'Jan', sales: 35 },
    { category: 'Feb', sales: 28 },
    { category: 'Mar', sales: 34 }
  ];

  dataLabelTemplate = '<div>${point.x}: ${point.y}K</div>';

  dataLabelSettings = {
    visible: true,
    template: this.dataLabelTemplate,
    position: 'Outside'
  };
}

Key Props Reference

关键属性参考

PropTypePurpose
type
stringChart type: 'Pie' or 'Donut'
dataSource
any[]Array of data objects for chart
xName
stringData property for category/label
yName
stringData property for values
innerRadius
stringDonut hole size (0-100%, Pie: 0%, Donut: 40-60%)
radius
stringChart radius (default: 80% of min width/height)
pointColorMapping
stringData property for point colors
dataLabel
DataLabelSettingsLabel configuration (visible, position, template)
tooltip
TooltipSettingsTooltip settings (enable, format, template, header)
legendSettings
LegendSettingsLegend position and behavior
title
stringChart title text
subTitle
stringChart subtitle text
enableSmartLabels
booleanAuto-arrange labels to avoid overlap (default: true)
emptyPointSettings
EmptyPointSettingsHandle missing data points

属性类型用途
type
string图表类型:'Pie' 或 'Donut'
dataSource
any[]图表数据对象数组
xName
string分类/标签对应的数据属性
yName
string值对应的数据属性
innerRadius
string甜甜圈孔洞大小(0-100%,饼图为0%,甜甜圈为40-60%)
radius
string图表半径(默认:最小宽/高的80%)
pointColorMapping
string点颜色对应的数据属性
dataLabel
DataLabelSettings标签配置(可见性、位置、模板)
tooltip
TooltipSettings工具提示设置(启用、格式、模板、标题)
legendSettings
LegendSettings图例位置与行为
title
string图表标题文本
subTitle
string图表副标题文本
enableSmartLabels
boolean自动排列标签以避免重叠(默认:true)
emptyPointSettings
EmptyPointSettings缺失数据点处理设置

Common Use Cases

常见使用场景

  1. Market Share Distribution: Visualize product or service market share using pie charts
  2. Budget Allocation: Show departmental budget breakdown with donut charts
  3. User Demographics: Display audience distribution by region, age, or other categories
  4. Sales Composition: Compare sales contribution by product line or territory
  5. Quality Metrics: Represent quality issue categories as proportions
  6. Survey Results: Visualize survey response distribution and percentages

  1. 市场份额分布: 使用饼图可视化产品或服务的市场份额
  2. 预算分配: 使用甜甜圈图展示部门预算明细
  3. 用户 demographics: 按地区、年龄或其他类别展示受众分布
  4. 销售构成: 对比产品线或区域的销售贡献
  5. 质量指标: 按比例展示质量问题类别
  6. 调查结果: 可视化调查响应分布与百分比

如需更多信息,请访问Syncfusion Angular 3D环形图表文档