syncfusion-blazor-charts
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseImplementing Syncfusion Blazor Charts
实现Syncfusion Blazor图表
A comprehensive guide for implementing the Syncfusion Blazor Chart component to create interactive, feature-rich data visualizations in Blazor applications. The Chart component supports 33+ chart types, multiple axes, advanced interactivity, and extensive customization options.
本指南是在Blazor应用中实现Syncfusion Blazor Chart组件、创建交互性强、功能丰富的数据可视化内容的综合指南。该Chart组件支持33+种图表类型、多轴配置、高级交互功能和丰富的自定义选项。
When to Use This Skill
何时使用本技能
Use this skill when you need to:
- Create data visualizations in Blazor applications (line, column, bar, area, etc.)
- Implement financial charts for stock analysis (candle, HILO, HILOOC)
- Build statistical visualizations (histogram, box-whisker, pareto, waterfall)
- Display comparative data with stacked or grouped charts
- Show range-based data with range area/column charts
- Create polar or radar charts for circular data representation
- Add interactive features like tooltips, zooming, crosshair, selection
- Customize chart appearance with themes, gradients, annotations
- Handle dynamic data with live updates and data editing
- Implement accessible charts with ARIA support and internationalization
当你需要完成以下需求时可使用本技能:
- 在Blazor应用中创建数据可视化内容(折线图、柱状图、条形图、面积图等)
- 为股票分析实现金融图表(K线、HILO、HILOOC)
- 构建统计可视化内容(直方图、箱线图、帕累托图、瀑布图)
- 通过堆叠或分组图表展示对比数据
- 借助范围面积/柱状图展示基于范围的数据
- 创建极坐标或雷达图以环形形式展示数据
- 添加交互功能,如提示框、缩放、十字准星、选择功能
- 通过主题、渐变、注释自定义图表外观
- 通过实时更新和数据编辑处理动态数据
- 借助ARIA支持和国际化能力实现无障碍访问的图表
Component Overview
组件概览
The Syncfusion Blazor Chart component is a powerful data visualization tool that provides:
- 33+ Chart Types: Line, Column, Bar, Area, Spline, Scatter, Bubble, Candle, HILO, Polar, Radar, and more
- Multiple Axes: Support for category, numeric, datetime, and logarithmic axes
- Rich Interactivity: Zooming, panning, crosshair, trackball, tooltips, selection
- Data Binding: Work with List, DataManager, dynamic updates, and live data
- Visual Elements: Markers, data labels, annotations, legends, gradients
- Advanced Features: Technical indicators, trend lines, strip lines, multiple panes
- Accessibility: Full ARIA support, keyboard navigation, localization, RTL
- Customization: Themes, responsive design, print support, adaptive layout
Syncfusion Blazor Chart组件是一款功能强大的数据可视化工具,提供以下能力:
- 33+种图表类型:折线图、柱状图、条形图、面积图、样条图、散点图、气泡图、K线图、HILO图、极坐标图、雷达图等
- 多轴支持:支持分类轴、数值轴、日期时间轴、对数轴
- 丰富交互能力:缩放、平移、十字准星、追踪球、提示框、选择功能
- 数据绑定:支持与List、DataManager绑定,适配动态更新和实时数据场景
- 可视化元素:标记点、数据标签、注释、图例、渐变填充
- 高级功能:技术指标、趋势线、带状线、多窗格布局
- 无障碍支持:完整ARIA支持、键盘导航、本地化、RTL适配
- 自定义能力:主题切换、响应式设计、打印支持、自适应布局
Documentation and Navigation Guide
文档与导航指南
Complete API Reference
完整API参考
📄 Read: references/api-reference.md
CRITICAL: Use this reference FIRST for all API-related questions
Use this authoritative API reference when:
- Looking up correct enum values (ChartSeriesType, ValueType, SelectionMode, etc.)
- Finding public method signatures (RefreshAsync, ExportAsync, ShowTooltip, etc.)
- Verifying property names and types
- Generating code samples
- Troubleshooting API-related issues
Topics covered:
- Complete list of SfChart public methods with signatures
- All chart enumerations with correct values
- Key component classes and their properties
- Method usage examples
- Common patterns and best practices
Key Points:
- All enum values are exact - do not use variations
- Method names follow C# conventions (e.g., not
RefreshAsync)Refresh - Always use to access chart instance for method calls
@ref - Namespace:
Syncfusion.Blazor.Charts
📄 阅读: references/api-reference.md
重要提示:所有API相关问题请优先查阅本参考文档
当你遇到以下场景时可使用本权威API参考:
- 查找正确的枚举值(ChartSeriesType、ValueType、SelectionMode等)
- 查询公共方法签名(RefreshAsync、ExportAsync、ShowTooltip等)
- 验证属性名称和类型
- 生成代码示例
- 排查API相关问题
覆盖内容:
- SfChart所有公共方法及完整签名
- 所有图表枚举及对应正确值
- 核心组件类及其属性
- 方法使用示例
- 通用模式与最佳实践
核心要点:
- 所有枚举值均为精确值,请勿使用变体写法
- 方法名称遵循C#命名规范(例如使用而非
RefreshAsync)Refresh - 始终通过获取图表实例后调用方法
@ref - 命名空间:
Syncfusion.Blazor.Charts
Getting Started
快速入门
📄 Read: references/getting-started.md
Use this when:
- Setting up a new Blazor Chart project
- Installing NuGet packages and configuring services
- Creating your first chart component
- Understanding basic chart structure and data binding
- Working with Visual Studio, VS Code, or .NET CLI
Topics covered:
- Installation and prerequisites
- Package setup (Syncfusion.Blazor.Charts)
- Namespace imports and service registration
- Script references
- Basic chart implementation
- Simple data binding example
📄 阅读: references/getting-started.md
当你遇到以下场景时可使用本文档:
- 搭建全新Blazor Chart项目
- 安装NuGet包并配置服务
- 创建你的第一个图表组件
- 理解基础图表结构和数据绑定逻辑
- 在Visual Studio、VS Code或.NET CLI环境下开发
覆盖内容:
- 安装说明与前置依赖
- 包配置(Syncfusion.Blazor.Charts)
- 命名空间导入与服务注册
- 脚本引用配置
- 基础图表实现
- 简单数据绑定示例
Chart Types
图表类型
Common Chart Types
常用图表类型
📄 Read: references/chart-types-common.md
Use this for frequently-used chart types:
- Line charts for trend visualization
- Area charts for showing magnitude over time
- Column charts for categorical comparisons
- Bar charts for horizontal comparisons
- Spline charts for smooth curves
- Step charts for stepped data progression
Topics covered:
- Line, Area, Column, Bar chart implementations
- Spline and Spline Area variations
- Step Line and Step Area patterns
- When to use each chart type
- Configuration and customization
- Multi-series examples
📄 阅读: references/chart-types-common.md
适用于高频使用的图表类型场景:
- 展示趋势的折线图
- 展示时间维度数值量级的面积图
- 分类对比用的柱状图
- 横向对比用的条形图
- 展示平滑曲线的样条图
- 展示阶梯式数据变化的阶梯图
覆盖内容:
- 折线图、面积图、柱状图、条形图实现方案
- 样条图、样条面积图变体实现
- 阶梯线图、阶梯面积图实现模式
- 各图表类型适用场景
- 配置与自定义方法
- 多系列示例
Specialized Chart Types
特殊图表类型
📄 Read: references/chart-types-specialized.md
Use this for specialized visualization needs:
- Financial charts (Candle, HILO, HILOOC)
- Statistical charts (Box-Whisker, Histogram, Error Bar, Pareto, Waterfall)
- Stacked charts (Stack Area/Bar/Column/Line)
- Range charts (Range Area/Column/Step Area)
- Polar and Radar charts
- Scatter and Bubble charts
- Vertical chart orientation
Topics covered:
- Financial chart patterns and configurations
- Statistical analysis chart types
- Stacking modes (normal vs 100%)
- Range visualization techniques
- Circular chart layouts
- XY scatter relationships
- Chart orientation options
📄 阅读: references/chart-types-specialized.md
适用于特殊可视化需求场景:
- 金融图表(K线、HILO、HILOOC)
- 统计图表(箱线图、直方图、误差棒图、帕累托图、瀑布图)
- 堆叠图表(堆叠面积/条形/柱状/折线图)
- 范围图表(范围面积/柱状/阶梯面积图)
- 极坐标与雷达图
- 散点与气泡图
- 垂直方向图表
覆盖内容:
- 金融图表模式与配置方法
- 统计分析类图表类型
- 堆叠模式(普通模式vs100%堆叠模式)
- 范围可视化技巧
- 环形图表布局
- XY散点关系展示
- 图表方向配置选项
Axes and Data Configuration
轴与数据配置
📄 Read: references/axes-and-scales.md
Use this when:
- Configuring axis types (category, numeric, datetime, logarithmic)
- Customizing axis appearance and behavior
- Formatting axis labels and values
- Working with multiple axes
- Setting axis ranges and intervals
Topics covered:
- Category axis for discrete data
- Numeric axis for continuous values
- DateTime axis for time-series data
- Logarithmic axis for exponential data
- Axis customization (title, range, interval)
- Label formatting, rotation, and positioning
- Multiple axis configuration
- Inverse and opposed axes
📄 Read: references/data-handling.md
Use this when:
- Binding data sources to charts
- Adding, removing, or updating data dynamically
- Enabling data editing
- Sorting chart data
- Working with live or streaming data
Topics covered:
- Data source binding (List, DataManager)
- Dynamic data operations
- Data editing functionality
- Chart sorting options
- Real-time data updates
- Data serialization patterns
📄 阅读: references/axes-and-scales.md
当你遇到以下场景时可使用本文档:
- 配置轴类型(分类轴、数值轴、日期时间轴、对数轴)
- 自定义轴外观与行为
- 格式化轴标签与数值
- 配置多轴场景
- 设置轴范围与间隔
覆盖内容:
- 适配离散数据的分类轴
- 适配连续数值的数值轴
- 适配时间序列数据的日期时间轴
- 适配指数级数据的对数轴
- 轴自定义配置(标题、范围、间隔)
- 标签格式化、旋转与定位
- 多轴配置方案
- 反向轴与对置轴配置
📄 阅读: references/data-handling.md
当你遇到以下场景时可使用本文档:
- 为图表绑定数据源
- 动态新增、删除或更新数据
- 开启数据编辑功能
- 对图表数据排序
- 处理实时或流数据
覆盖内容:
- 数据源绑定(List、DataManager)
- 动态数据操作
- 数据编辑功能
- 图表排序选项
- 实时数据更新
- 数据序列化模式
Visual Elements
可视化元素
📄 Read: references/visual-elements.md
Use this when:
- Adding data markers to chart points
- Displaying data labels on series
- Creating custom label templates
- Adding annotations (text, shapes, images)
- Applying gradient fills
Topics covered:
- Data marker types and customization
- Data label visibility and formatting
- Label positioning strategies
- Data label templates
- Last data label highlighting
- Chart annotations (text, shapes, images)
- Gradient color fills
📄 Read: references/legend.md
Use this when:
- Enabling and configuring chart legend
- Positioning legend (top, bottom, left, right)
- Customizing legend appearance
- Implementing legend click behavior
- Creating custom legend templates
Topics covered:
- Legend visibility and positioning
- Legend shape and text customization
- Interactive legend (toggle series)
- Legend pagination
- Custom legend templates
- Legend alignment options
📄 阅读: references/visual-elements.md
当你遇到以下场景时可使用本文档:
- 为图表点添加数据标记
- 在系列上展示数据标签
- 创建自定义标签模板
- 添加注释(文本、形状、图片)
- 应用渐变填充
覆盖内容:
- 数据标记类型与自定义方法
- 数据标签可见性控制与格式化
- 标签定位策略
- 数据标签模板
- 末尾数据标签高亮
- 图表注释(文本、形状、图片)
- 渐变色填充配置
📄 阅读: references/legend.md
当你遇到以下场景时可使用本文档:
- 开启并配置图表图例
- 调整图例位置(上、下、左、右)
- 自定义图例外观
- 实现图例点击交互逻辑
- 创建自定义图例模板
覆盖内容:
- 图例可见性与位置配置
- 图例形状与文本自定义
- 交互式图例(切换系列显示状态)
- 图例分页
- 自定义图例模板
- 图例对齐选项
Interactive Features
交互功能
📄 Read: references/interactive-features.md
Use this when:
- Enabling tooltips with custom formatting
- Adding crosshair or trackball for data tracking
- Implementing point, series, or cluster selection
- Enabling zooming and panning
- Creating interactive user experiences
Topics covered:
- Tooltip configuration and templates
- Crosshair and trackball features
- Selection modes and patterns
- Zoom types (selection, pinch, mousewheel)
- Zoom toolbar configuration
- Pan functionality
- User interaction events
📄 阅读: references/interactive-features.md
当你遇到以下场景时可使用本文档:
- 开启支持自定义格式化的提示框
- 添加十字准星或追踪球实现数据追踪
- 实现点、系列、簇选择功能
- 开启缩放与平移能力
- 打造交互式用户体验
覆盖内容:
- 提示框配置与模板
- 十字准星与追踪球功能
- 选择模式与实现模式
- 缩放类型(框选、捏合、鼠标滚轮)
- 缩放工具栏配置
- 平移功能
- 用户交互事件
Customization and Appearance
自定义与外观配置
📄 Read: references/appearance-styling.md
Use this when:
- Customizing chart appearance and themes
- Setting chart dimensions and sizing
- Configuring responsive/adaptive layout
- Enabling print functionality
- Styling background, borders, and margins
Topics covered:
- Chart appearance customization
- Theme configuration
- Chart dimensions and sizing
- Responsive design patterns
- Adaptive layout for mobile
- Print support
- Background and border styling
- Gradient customization
📄 Read: references/advanced-features.md
Use this when:
- Adding technical indicators (EMA, SMA, RSI, etc.)
- Implementing trend lines (linear, exponential, polynomial)
- Creating strip lines (horizontal/vertical bands)
- Using multiple panes (sub-charts)
- Handling empty points
Topics covered:
- Technical indicators for financial charts
- Trend line types and configuration
- Strip line patterns
- Multiple pane layouts
- Empty point handling strategies
- Row and column definitions
📄 阅读: references/appearance-styling.md
当你遇到以下场景时可使用本文档:
- 自定义图表外观与主题
- 设置图表尺寸
- 配置响应式/自适应布局
- 开启打印功能
- 自定义背景、边框与边距
覆盖内容:
- 图表外观自定义
- 主题配置
- 图表尺寸设置
- 响应式设计模式
- 移动端自适应布局
- 打印支持
- 背景与边框样式
- 渐变自定义
📄 阅读: references/advanced-features.md
当你遇到以下场景时可使用本文档:
- 添加技术指标(EMA、SMA、RSI等)
- 实现趋势线(线性、指数、多项式)
- 创建带状线(水平/垂直色块)
- 使用多窗格布局(子图表)
- 处理空值点
覆盖内容:
- 金融图表技术指标
- 趋势线类型与配置
- 带状线实现模式
- 多窗格布局
- 空值点处理策略
- 行与列定义
Accessibility and Internationalization
无障碍与国际化
📄 Read: references/accessibility-internationalization.md
Use this when:
- Implementing accessible charts (ARIA, keyboard nav)
- Configuring advanced accessibility features
- Enabling internationalization (i18n)
- Setting up localization (l10n)
- Supporting RTL layouts
Topics covered:
- Accessibility features and ARIA support
- Keyboard navigation patterns
- Advanced accessibility configuration
- Internationalization setup
- Localization resources
- RTL support
- Screen reader compatibility
📄 阅读: references/accessibility-internationalization.md
当你遇到以下场景时可使用本文档:
- 实现无障碍访问的图表(ARIA、键盘导航)
- 配置高级无障碍功能
- 开启国际化(i18n)能力
- 配置本地化(l10n)资源
- 支持RTL布局
覆盖内容:
- 无障碍功能与ARIA支持
- 键盘导航模式
- 高级无障碍配置
- 国际化配置
- 本地化资源
- RTL支持
- 屏幕阅读器适配
Events
事件
📄 Read: references/events.md
Use this when:
- Handling chart lifecycle events
- Responding to user interactions (clicks, mouse events)
- Listening to axis, series, or point events
- Implementing custom event handlers
- Triggering actions on zoom, pan, or selection
Topics covered:
- Chart load and render events
- Point and series events
- Mouse events (click, move, leave)
- Axis label render events
- Legend events
- Zoom and pan events
- Selection events
- Event handler patterns
📄 阅读: references/events.md
当你遇到以下场景时可使用本文档:
- 处理图表生命周期事件
- 响应用户交互(点击、鼠标事件)
- 监听轴、系列或点相关事件
- 实现自定义事件处理逻辑
- 在缩放、平移或选择操作时触发指定行为
覆盖内容:
- 图表加载与渲染事件
- 点与系列相关事件
- 鼠标事件(点击、移动、离开)
- 轴标签渲染事件
- 图例相关事件
- 缩放与平移事件
- 选择事件
- 事件处理模式
Practical Examples and How-To Guides
实践示例与操作指南
📄 Read: references/practical-examples.md
Use this for common implementation scenarios:
- Adding/removing series dynamically
- Hiding axes programmatically
- Converting milliseconds to datetime
- Updating points dynamically
- Implementing lazy loading
- Creating live/real-time charts
- Getting selected data
- Synchronizing multiple charts
- Adding threshold lines
- Custom tooltip tables
Topics covered:
- Dynamic series management
- Axis visibility control
- Date conversion techniques
- Dynamic point updates
- Lazy loading patterns
- Live chart implementation
- Selection data retrieval
- Chart synchronization
- Threshold line implementation
- Custom tooltip tables
📄 阅读: references/practical-examples.md
适用于常见实现场景:
- 动态新增/删除系列
- 编程方式隐藏轴
- 毫秒值转日期时间格式
- 动态更新数据点
- 实现懒加载
- 创建实时/动态图表
- 获取选中数据
- 多图表联动
- 添加阈值线
- 自定义提示框表格
覆盖内容:
- 动态系列管理
- 轴可见性控制
- 日期转换技巧
- 动态数据点更新
- 懒加载实现模式
- 实时图表实现方案
- 选中数据获取方法
- 图表联动实现
- 阈值线实现方案
- 自定义提示框表格
Public Methods Reference
公共方法参考
The component provides several public methods for programmatic control. Always use to access these methods:
SfChart@refSfChart@refEssential Methods
核心方法
razor
<SfChart @ref="ChartRef">
<!-- Configuration -->
</SfChart>
@code {
SfChart ChartRef;
// Refresh the chart
async Task RefreshChart() => await ChartRef.RefreshAsync();
// Export the chart
async Task ExportChart() => await ChartRef.ExportAsync(ExportType.PNG, "chart.png");
// Print the chart
async Task PrintChart() => await ChartRef.PrintAsync();
// Show/Hide tooltip
void ShowChartTooltip() => ChartRef.ShowTooltip("January", 35);
void HideChartTooltip() => ChartRef.HideTooltip();
// Show/Hide crosshair
void ShowChartCrosshair() => ChartRef.ShowCrosshair(100, 50);
void HideChartCrosshair() => ChartRef.HideCrosshair();
// Selection control
void ClearSelections() => ChartRef.ClearSelection();
// Sorting
void SortData() => ChartRef.Sort("YValue", ListSortDirection.Descending);
void ClearChartSort() => ChartRef.ClearSort();
}See references/api-reference.md for complete method documentation.
razor
<SfChart @ref="ChartRef">
<!-- 配置内容 -->
</SfChart>
@code {
SfChart ChartRef;
// 刷新图表
async Task RefreshChart() => await ChartRef.RefreshAsync();
// 导出图表
async Task ExportChart() => await ChartRef.ExportAsync(ExportType.PNG, "chart.png");
// 打印图表
async Task PrintChart() => await ChartRef.PrintAsync();
// 显示/隐藏提示框
void ShowChartTooltip() => ChartRef.ShowTooltip("January", 35);
void HideChartTooltip() => ChartRef.HideTooltip();
// 显示/隐藏十字准星
void ShowChartCrosshair() => ChartRef.ShowCrosshair(100, 50);
void HideChartCrosshair() => ChartRef.HideCrosshair();
// 选择控制
void ClearSelections() => ChartRef.ClearSelection();
// 排序
void SortData() => ChartRef.Sort("YValue", ListSortDirection.Descending);
void ClearChartSort() => ChartRef.ClearSort();
}完整方法文档请查阅 references/api-reference.md。
⚠️ CRITICAL: API Usage Guidelines
⚠️ 重要提示:API使用规范
1. Enum Names - MUST Use Full Namespace
1. 枚举名称 - 必须使用完整命名空间
Syncfusion Blazor Charts requires FULLY QUALIFIED enum names:
razor
<!-- ✅ CORRECT - Use full namespace -->
<ChartPrimaryXAxis ValueType="Syncfusion.Blazor.Charts.ValueType.Category" />
<ChartSeries Type="Syncfusion.Blazor.Charts.ChartSeriesType.Column" />
<!-- ❌ WRONG - Short form will cause errors -->
<ChartPrimaryXAxis ValueType="ValueType.Category" />
<ChartSeries Type="ChartSeriesType.Column" />Always use prefix for:
Syncfusion.Blazor.Charts.- (Category, Double, DateTime, etc.)
ValueType - (Column, Line, Area, etc.)
ChartSeriesType - ,
LegendPosition,SelectionMode,ZoomMode, etc.ChartShape
Syncfusion Blazor Charts要求使用完全限定的枚举名称:
razor
<!-- ✅ 正确写法 - 使用完整命名空间 -->
<ChartPrimaryXAxis ValueType="Syncfusion.Blazor.Charts.ValueType.Category" />
<ChartSeries Type="Syncfusion.Blazor.Charts.ChartSeriesType.Column" />
<!-- ❌ 错误写法 - 短写会导致报错 -->
<ChartPrimaryXAxis ValueType="ValueType.Category" />
<ChartSeries Type="ChartSeriesType.Column" />以下枚举始终需要添加前缀:
Syncfusion.Blazor.Charts.- (Category、Double、DateTime等)
ValueType - (Column、Line、Area等)
ChartSeriesType - 、
LegendPosition、SelectionMode、ZoomMode等ChartShape
2. Component Property Restrictions
2. 组件属性限制
⚠️ Common Property Errors to Avoid:
⚠️ 需要规避的常见属性错误:
ChartCrosshairLine - Limited Properties
ChartCrosshairLine - 支持的属性有限
razor
<!-- ✅ CORRECT - Only Width and Color supported -->
<ChartCrosshairSettings Enable="true">
<ChartCrosshairLine Width="1" Color="#666"></ChartCrosshairLine>
</ChartCrosshairSettings>
<!-- ❌ WRONG - DashArray NOT supported on ChartCrosshairLine -->
<ChartCrosshairLine Width="1" Color="#666" DashArray="5,5"></ChartCrosshairLine>Supported ChartCrosshairLine Properties:
- - Line width (number)
Width - - Line color (string)
Color
NOT Supported:
- ❌ - Will cause runtime error
DashArray - ❌ - Not available on this component
Opacity
razor
<!-- ✅ 正确写法 - 仅支持Width和Color属性 -->
<ChartCrosshairSettings Enable="true">
<ChartCrosshairLine Width="1" Color="#666"></ChartCrosshairLine>
</ChartCrosshairSettings>
<!-- ❌ 错误写法 - ChartCrosshairLine不支持DashArray属性 -->
<ChartCrosshairLine Width="1" Color="#666" DashArray="5,5"></ChartCrosshairLine>ChartCrosshairLine支持的属性:
- - 线宽(数值类型)
Width - - 线条颜色(字符串类型)
Color
不支持的属性:
- ❌ - 会导致运行时报错
DashArray - ❌ - 该组件无此属性
Opacity
Striplines - Use Plural Form
带状线 - 使用复数形式标签
razor
<!-- ✅ CORRECT - ChartStriplines (plural) -->
<ChartPrimaryYAxis>
<ChartStriplines>
<ChartStripline Start="50" End="60" Color="red" />
</ChartStriplines>
</ChartPrimaryYAxis>
<!-- ❌ WRONG - ChartAxisStripLineSettings does not exist -->
<ChartAxisStripLineSettings>
<ChartAxisStripLine Start="50" End="60" />
</ChartAxisStripLineSettings>razor
<!-- ✅ 正确写法 - ChartStriplines(复数形式) -->
<ChartPrimaryYAxis>
<ChartStriplines>
<ChartStripline Start="50" End="60" Color="red" />
</ChartStriplines>
</ChartPrimaryYAxis>
<!-- ❌ 错误写法 - ChartAxisStripLineSettings不存在 -->
<ChartAxisStripLineSettings>
<ChartAxisStripLine Start="50" End="60" />
</ChartAxisStripLineSettings>3. Validation Checklist
3. 校验清单
Before deploying, verify:
- ✅ All enums use prefix
Syncfusion.Blazor.Charts. - ✅ ChartCrosshairLine uses ONLY Width and Color
- ✅ Striplines use and
<ChartStriplines><ChartStripline> - ✅ Component references use for method access
@ref - ✅ Property names match official API exactly (case-sensitive)
部署前请确认:
- ✅ 所有枚举都添加了前缀
Syncfusion.Blazor.Charts. - ✅ ChartCrosshairLine仅使用Width和Color属性
- ✅ 带状线使用和
<ChartStriplines>标签<ChartStripline> - ✅ 组件通过获取实例后调用方法
@ref - ✅ 属性名称与官方API完全一致(大小写敏感)
Quick Start Example
快速入门示例
Here's a minimal example to create a column chart with data:
razor
@page "/chart-demo"
@using Syncfusion.Blazor.Charts
<SfChart Title="Sales Analysis">
<ChartPrimaryXAxis Title="Month" ValueType="Syncfusion.Blazor.Charts.ValueType.Category">
</ChartPrimaryXAxis>
<ChartPrimaryYAxis Title="Sales in Dollar">
</ChartPrimaryYAxis>
<ChartTooltipSettings Enable="true"></ChartTooltipSettings>
<ChartSeriesCollection>
<ChartSeries DataSource="@SalesData"
Name="Sales"
XName="Month"
YName="SalesValue"
Type="Syncfusion.Blazor.Charts.ChartSeriesType.Column">
<ChartMarker>
<ChartDataLabel Visible="true"></ChartDataLabel>
</ChartMarker>
</ChartSeries>
</ChartSeriesCollection>
</SfChart>
@code {
public class SalesInfo
{
public string Month { get; set; }
public double SalesValue { get; set; }
}
public List<SalesInfo> SalesData = new List<SalesInfo>
{
new SalesInfo { Month = "Jan", SalesValue = 35 },
new SalesInfo { Month = "Feb", SalesValue = 28 },
new SalesInfo { Month = "Mar", SalesValue = 34 },
new SalesInfo { Month = "Apr", SalesValue = 32 },
new SalesInfo { Month = "May", SalesValue = 40 },
new SalesInfo { Month = "Jun", SalesValue = 32 }
};
}Prerequisites:
- Install NuGet package
Syncfusion.Blazor.Charts - Add to
@using Syncfusion.Blazor.Charts_Imports.razor - Register service: in
builder.Services.AddSyncfusionBlazor();Program.cs - Add script reference in
App.razor
以下是创建带数据的柱状图的最小示例:
razor
@page "/chart-demo"
@using Syncfusion.Blazor.Charts
<SfChart Title="销售分析">
<ChartPrimaryXAxis Title="月份" ValueType="Syncfusion.Blazor.Charts.ValueType.Category">
</ChartPrimaryXAxis>
<ChartPrimaryYAxis Title="销售额(美元)">
</ChartPrimaryYAxis>
<ChartTooltipSettings Enable="true"></ChartTooltipSettings>
<ChartSeriesCollection>
<ChartSeries DataSource="@SalesData"
Name="销售额"
XName="Month"
YName="SalesValue"
Type="Syncfusion.Blazor.Charts.ChartSeriesType.Column">
<ChartMarker>
<ChartDataLabel Visible="true"></ChartDataLabel>
</ChartMarker>
</ChartSeries>
</ChartSeriesCollection>
</SfChart>
@code {
public class SalesInfo
{
public string Month { get; set; }
public double SalesValue { get; set; }
}
public List<SalesInfo> SalesData = new List<SalesInfo>
{
new SalesInfo { Month = "Jan", SalesValue = 35 },
new SalesInfo { Month = "Feb", SalesValue = 28 },
new SalesInfo { Month = "Mar", SalesValue = 34 },
new SalesInfo { Month = "Apr", SalesValue = 32 },
new SalesInfo { Month = "May", SalesValue = 40 },
new SalesInfo { Month = "Jun", SalesValue = 32 }
};
}前置依赖:
- 安装NuGet包
Syncfusion.Blazor.Charts - 在中添加
_Imports.razor@using Syncfusion.Blazor.Charts - 在中注册服务:
Program.csbuilder.Services.AddSyncfusionBlazor(); - 在中添加脚本引用
App.razor
Common Patterns
通用实现模式
Multi-Series Comparison Chart
多系列对比图表
razor
<SfChart Title="Product Sales Comparison">
<ChartPrimaryXAxis ValueType="Syncfusion.Blazor.Charts.ValueType.Category"></ChartPrimaryXAxis>
<ChartSeriesCollection>
<ChartSeries DataSource="@Product1Sales" XName="Month" YName="Sales"
Name="Product 1" Type="Syncfusion.Blazor.Charts.ChartSeriesType.Column">
</ChartSeries>
<ChartSeries DataSource="@Product2Sales" XName="Month" YName="Sales"
Name="Product 2" Type="Syncfusion.Blazor.Charts.ChartSeriesType.Column">
</ChartSeries>
</ChartSeriesCollection>
<ChartLegendSettings Visible="true"></ChartLegendSettings>
</SfChart>razor
<SfChart Title="产品销售对比">
<ChartPrimaryXAxis ValueType="Syncfusion.Blazor.Charts.ValueType.Category"></ChartPrimaryXAxis>
<ChartSeriesCollection>
<ChartSeries DataSource="@Product1Sales" XName="Month" YName="Sales"
Name="产品1" Type="Syncfusion.Blazor.Charts.ChartSeriesType.Column">
</ChartSeries>
<ChartSeries DataSource="@Product2Sales" XName="Month" YName="Sales"
Name="产品2" Type="Syncfusion.Blazor.Charts.ChartSeriesType.Column">
</ChartSeries>
</ChartSeriesCollection>
<ChartLegendSettings Visible="true"></ChartLegendSettings>
</SfChart>Time-Series Line Chart with Zooming
支持缩放的时间序列折线图
razor
<SfChart>
<ChartPrimaryXAxis ValueType="Syncfusion.Blazor.Charts.ValueType.DateTime"
Title="Date">
</ChartPrimaryXAxis>
<ChartZoomSettings EnableSelectionZooming="true"
EnablePan="true"
EnableMouseWheelZooming="true">
</ChartZoomSettings>
<ChartSeriesCollection>
<ChartSeries DataSource="@TimeSeriesData"
XName="Date"
YName="Value"
Type="Syncfusion.Blazor.Charts.ChartSeriesType.Line">
</ChartSeries>
</ChartSeriesCollection>
</SfChart>razor
<SfChart>
<ChartPrimaryXAxis ValueType="Syncfusion.Blazor.Charts.ValueType.DateTime"
Title="日期">
</ChartPrimaryXAxis>
<ChartZoomSettings EnableSelectionZooming="true"
EnablePan="true"
EnableMouseWheelZooming="true">
</ChartZoomSettings>
<ChartSeriesCollection>
<ChartSeries DataSource="@TimeSeriesData"
XName="Date"
YName="Value"
Type="Syncfusion.Blazor.Charts.ChartSeriesType.Line">
</ChartSeries>
</ChartSeriesCollection>
</SfChart>Stacked Area Chart with Legend
带图例的堆叠面积图
razor
<SfChart Title="Resource Allocation">
<ChartPrimaryXAxis ValueType="Syncfusion.Blazor.Charts.ValueType.Category"></ChartPrimaryXAxis>
<ChartSeriesCollection>
<ChartSeries DataSource="@ResourceData1" XName="Period" YName="Hours"
Name="Development" Type="Syncfusion.Blazor.Charts.ChartSeriesType.StackingArea">
</ChartSeries>
<ChartSeries DataSource="@ResourceData2" XName="Period" YName="Hours"
Name="Testing" Type="Syncfusion.Blazor.Charts.ChartSeriesType.StackingArea">
</ChartSeries>
<ChartSeries DataSource="@ResourceData3" XName="Period" YName="Hours"
Name="Documentation" Type="Syncfusion.Blazor.Charts.ChartSeriesType.StackingArea">
</ChartSeries>
</ChartSeriesCollection>
<ChartLegendSettings Visible="true" Position="Syncfusion.Blazor.Charts.LegendPosition.Bottom">
</ChartLegendSettings>
</SfChart>razor
<SfChart Title="资源分配">
<ChartPrimaryXAxis ValueType="Syncfusion.Blazor.Charts.ValueType.Category"></ChartPrimaryXAxis>
<ChartSeriesCollection>
<ChartSeries DataSource="@ResourceData1" XName="Period" YName="Hours"
Name="开发" Type="Syncfusion.Blazor.Charts.ChartSeriesType.StackingArea">
</ChartSeries>
<ChartSeries DataSource="@ResourceData2" XName="Period" YName="Hours"
Name="测试" Type="Syncfusion.Blazor.Charts.ChartSeriesType.StackingArea">
</ChartSeries>
<ChartSeries DataSource="@ResourceData3" XName="Period" YName="Hours"
Name="文档" Type="Syncfusion.Blazor.Charts.ChartSeriesType.StackingArea">
</ChartSeries>
</ChartSeriesCollection>
<ChartLegendSettings Visible="true" Position="Syncfusion.Blazor.Charts.LegendPosition.Bottom">
</ChartLegendSettings>
</SfChart>Key Configuration Properties
核心配置属性
Chart Component (SfChart
)
SfChart图表组件(SfChart
)
SfChart- - Chart title text
Title - /
Width- Chart dimensions (accepts px or %, default: "100%")Height - - Visual theme (see Theme enum in API reference)
Theme - - Chart background color
Background - - Enable/disable animation (default: true)
EnableAnimation - - Selection mode (None, Series, Point, Cluster, DragXY, DragX, DragY, Lasso)
SelectionMode - - Highlight mode (None, Series, Point, Cluster)
HighlightMode
- - 图表标题文本
Title - /
Width- 图表尺寸(支持px或%,默认值:"100%")Height - - 视觉主题(详见API参考中的Theme枚举)
Theme - - 图表背景色
Background - - 开启/关闭动画(默认值:true)
EnableAnimation - - 选择模式(None、Series、Point、Cluster、DragXY、DragX、DragY、Lasso)
SelectionMode - - 高亮模式(None、Series、Point、Cluster)
HighlightMode
Primary Axes (ChartPrimaryXAxis
, ChartPrimaryYAxis
)
ChartPrimaryXAxisChartPrimaryYAxis主轴(ChartPrimaryXAxis
、ChartPrimaryYAxis
)
ChartPrimaryXAxisChartPrimaryYAxis- - Axis type:
ValueType,Syncfusion.Blazor.Charts.ValueType.Category,ValueType.Double,ValueType.DateTime,ValueType.LogarithmicValueType.DateTimeCategory - - Axis title
Title - /
Minimum- Axis rangeMaximum - - Spacing between labels
Interval - - Format string for labels (e.g., "C0", "N2", "dd MMM")
LabelFormat - - Edge label handling (None, Hide, Shift)
EdgeLabelPlacement - - Label intersection handling (None, Hide, Trim, Wrap, MultipleRows, Rotate45, Rotate90)
LabelIntersectAction - Striplines - Use (plural) for horizontal/vertical bands
<ChartStriplines>
- - 轴类型:
ValueType、Syncfusion.Blazor.Charts.ValueType.Category、ValueType.Double、ValueType.DateTime、ValueType.LogarithmicValueType.DateTimeCategory - - 轴标题
Title - /
Minimum- 轴范围Maximum - - 标签间隔
Interval - - 标签格式化字符串(例如"C0"、"N2"、"dd MMM")
LabelFormat - - 边缘标签处理逻辑(None、Hide、Shift)
EdgeLabelPlacement - - 标签重叠处理逻辑(None、Hide、Trim、Wrap、MultipleRows、Rotate45、Rotate90)
LabelIntersectAction - 带状线 - 使用(复数形式)添加水平/垂直色块
<ChartStriplines>
Series (ChartSeries
)
ChartSeries系列(ChartSeries
)
ChartSeries- - Data collection (IEnumerable<object>)
DataSource - /
XName- Property names for X and Y values (case-sensitive)YName - - Chart type:
Type,Syncfusion.Blazor.Charts.ChartSeriesType.Column, etc. (see API reference)ChartSeriesType.Line - - Series name for legend
Name - - Series color (CSS color string)
Fill - - Line/border width (pixels)
Width - - Dash pattern (e.g., "5,5")
DashArray - - Transparency (0 to 1)
Opacity
- - 数据集(IEnumerable<object>)
DataSource - /
XName- X轴和Y轴对应的属性名称(大小写敏感)YName - - 图表类型:
Type、Syncfusion.Blazor.Charts.ChartSeriesType.Column等(详见API参考)ChartSeriesType.Line - - 系列在图例中展示的名称
Name - - 系列颜色(CSS颜色字符串)
Fill - - 线条/边框宽度(像素)
Width - - 虚线样式(例如"5,5")
DashArray - - 透明度(取值范围0到1)
Opacity
Interactivity
交互配置
- - Tooltip configuration
ChartTooltipSettings- - Show/hide tooltip
Enable - - Enable shared tooltip for multiple series
Shared - - Custom tooltip format
Format - - Custom tooltip template (RenderFragment)
Template
- - Zoom and pan options
ChartZoomSettings- - Enable selection-based zoom
EnableSelectionZooming - - Enable mouse wheel zoom
EnableMouseWheelZooming - - Enable pinch zoom (touch devices)
EnablePinchZooming - - Enable panning
EnablePan - - Zoom mode (X, Y, XY)
Mode
- - Selection behavior (see SelectionMode enum)
SelectionMode - - Crosshair configuration
ChartCrosshairSettings- - Show/hide crosshair
Enable - - Crosshair line type (Vertical, Horizontal, Both)
LineType - - Line style (Width, Color ONLY - NO DashArray)
ChartCrosshairLine
- - 提示框配置
ChartTooltipSettings- - 显示/隐藏提示框
Enable - - 为多系列开启共享提示框
Shared - - 自定义提示框格式
Format - - 自定义提示框模板(RenderFragment)
Template
- - 缩放与平移配置
ChartZoomSettings- - 开启框选缩放
EnableSelectionZooming - - 开启鼠标滚轮缩放
EnableMouseWheelZooming - - 开启捏合缩放(触控设备)
EnablePinchZooming - - 开启平移
EnablePan - - 缩放模式(X、Y、XY)
Mode
- - 选择行为(详见SelectionMode枚举)
SelectionMode - - 十字准星配置
ChartCrosshairSettings- - 显示/隐藏十字准星
Enable - - 十字准星线条类型(Vertical、Horizontal、Both)
LineType - - 线条样式(仅支持Width、Color属性 - 不支持DashArray)
ChartCrosshairLine
Visual Elements
可视化元素
- - Data point markers
ChartMarker- - Show/hide markers
Visible - - Marker shape (see ChartShape enum)
Shape - /
Width- Marker dimensionsHeight
- - Data labels on points
ChartDataLabel- - Show/hide labels
Visible - - Label position
Position - - Custom label template
Template
- - Legend configuration
ChartLegendSettings- - Show/hide legend
Visible - - Legend position (see LegendPosition enum)
Position
- - Custom annotations
ChartAnnotations- Support for text, images, and shapes
- - 数据点标记
ChartMarker- - 显示/隐藏标记
Visible - - 标记形状(详见ChartShape枚举)
Shape - /
Width- 标记尺寸Height
- - 数据点标签
ChartDataLabel- - 显示/隐藏标签
Visible - - 标签位置
Position - - 自定义标签模板
Template
- - 图例配置
ChartLegendSettings- - 显示/隐藏图例
Visible - - 图例位置(详见LegendPosition枚举)
Position
- - 自定义注释
ChartAnnotations- 支持文本、图片、形状类型
Additional Resources
更多资源
- Official Documentation: Syncfusion Blazor Chart Documentation
- API Reference: Chart API
- Live Demos: Blazor Chart Demos
- 官方文档: Syncfusion Blazor Chart 文档
- API参考: Chart API
- 在线演示: Blazor Chart 演示