Skip to main content

syncfusion-angular-heatmap

Implement Syncfusion Angular HeatMap Chart component for visualizing two-dimensional data with color gradients. Use this skill whenever users need to create heatmaps, visualize data matrices, display data with color-coded cells, configure axes (numeric/categorical/datetime), add legends, customize colors and rendering modes, handle cell selection and events, or implement accessibility features. Includes data binding, axis types, interactive selection, tooltips, and bubble heatmaps.

来源信息

仓库
syncfusion/angular-ui-components-skills
最近来源活动
2026年7月6日 07:18
检测到的 SKILL.md 语言
英语
星标
0
分支
1

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
9 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
syncfusion-angular-heatmap
description
Implement Syncfusion Angular HeatMap Chart component for visualizing two-dimensional data with color gradients. Use this skill whenever users need to create heatmaps, visualize data matrices, display data with color-coded cells, configure axes (numeric/categorical/datetime), add legends, customize colors and rendering modes, handle cell selection and events, or implement accessibility features. Includes data binding, axis types, interactive selection, tooltips, and bubble heatmaps.
metadata
{"author":"Syncfusion Inc","version":"34.1.29","category":"Data Visualization"}
# Implementing HeatMap The HeatMap Chart component is a powerful visualization tool for displaying two-dimensional data where values are represented through color gradients or fixed colors. Perfect for analyzing patterns, correlations, and distributions in matrix data, time-series heatmaps, and any scenario requiring color-encoded data representation. ## When to Use This Skill - **Data Matrix Visualization:** Display 2D data arrays with color-coded cells - **Correlation Analysis:** Visualize relationships between multiple variables - **Time-Series Heatmaps:** Show patterns over time (e.g., hourly/daily activity) - **Category Comparison:** Compare performance across categories and metrics - **Intensity Mapping:** Display heatmaps with gradient colors representing value intensity - **Interactive Selection:** Enable user selection of cells with tooltips and event handling - **Accessibility Requirements:** Implement WCAG-compliant heatmaps with ARIA support - **Custom Styling:** Apply themes, palettes, and custom rendering (SVG/Canvas) - **Bubble Heatmaps:** Visualize data as bubbles with size and color encoding - **Large Datasets:** Handle auto-switching between SVG and Canvas rendering modes ## Component Overview HeatMap is a flexible, high-performance visualization component with rich customization: - **Axis Types:** Numeric, Categorical, and DateTime axes - **Data Binding:** JSON arrays and 2D matrix formats - **Rendering Modes:** Auto-switching SVG (small data) and Canvas (large data) - **Interactive Features:** Cell selection, tooltips, data labels, events - **Customization:** Color palettes, themes, cell styling, borders - **Accessibility:** WCAG compliance, ARIA attributes, keyboard navigation - **Legend Support:** Automatic and custom legend rendering - **Bubble Variant:** Alternative bubble heatmap visualization - **Standalone Ready:** Compatible with Angular 19+ standalone components ## Documentation and Navigation Guide ### API Reference 📄 **Read:** [references/api-reference.md](references/api-reference.md) ### Getting Started & Installation 📄 **Read:** [references/getting-started.md](references/getting-started.md) - Installing @syncfusion/ej2-angular-heatmap package - Module imports for Angular standalone and traditional modules - Creating your first heatmap - Basic data binding setup - Verifying installation works ### Data Binding & Formats 📄 **Read:** [references/data-binding.md](references/data-binding.md) - JSON array format for structured data - 2D array format for matrix data - DataManager for remote data - Binding x/y axis fields - Live data updates and dynamic binding ### Axes Configuration 📄 **Read:** [references/axes-configuration.md](references/axes-configuration.md) - X/Y axis types: Numeric, Categorical, DateTime - Axis labels, titles, and intervals - Inverted axes and opposed positions - Axis customization and properties - Working with date/time data ### Legend Rendering 📄 **Read:** [references/legend-rendering.md](references/legend-rendering.md) - Legend positioning and alignment - Legend sizing and appearance - Custom legend data display - Interactive legend behavior - Legend label formatting ### Visual Customization & Rendering 📄 **Read:** [references/visual-customization.md](references/visual-customization.md) - Color palettes and themes - SVG vs Canvas rendering modes - Cell styling and borders - Gradient and fixed colors - Bubble heatmap variations - Responsive design ### Interactivity, Events & Accessibility 📄 **Read:** [references/interactivity-events.md](references/interactivity-events.md) - Cell selection modes and events - Tooltip customization and templating - Data labels and formatting - Cell click and selection handlers - WCAG accessibility compliance - ARIA attributes and keyboard navigation - Screen reader support ### Advanced Features & How-tos 📄 **Read:** [references/advanced-features.md](references/advanced-features.md) - EJ1 to EJ2 migration guide - How-to: Custom tooltip templates - How-to: Legend customization - How-to: Performance optimization for large datasets - Combining selection with data updates - Multi-dimensional data representation ## Quick Start ### Minimal HeatMap Setup ```typescript import { Component, ViewEncapsulation } from '@angular/core'; import { HeatMapModule } from '@syncfusion/ej2-angular-heatmap'; @Component({ imports: [HeatMapModule], standalone: true, selector: 'app-heatmap', template: ` <ejs-heatmap id='heatmap-container' [dataSource]='dataSource' [xAxis]='xAxis' [yAxis]='yAxis'> </ejs-heatmap> `, encapsulation: ViewEncapsulation.None }) export class HeatMapComponent { dataSource: any[] = [ { ProductName: 'Milk', Year: 2005, Sales: 21, Quarter: 'Q1' }, { ProductName: 'Milk', Year: 2006, Sales: 22, Quarter: 'Q1' }, { ProductName: 'Milk', Year: 2007, Sales: 23, Quarter: 'Q1' }, { ProductName: 'Bread', Year: 2005, Sales: 18, Quarter: 'Q1' }, { ProductName: 'Bread', Year: 2006, Sales: 19, Quarter: 'Q1' }, { ProductName: 'Bread', Year: 2007, Sales: 20, Quarter: 'Q1' } ]; xAxis: any = { labels: ['2005', '2006', '2007'], type: 'Labels', opposedPosition: true }; yAxis: any = { labels: ['Milk', 'Bread'], type: 'Labels' }; } ``` ## Common Patterns ### Pattern 1: Sales Performance Matrix Display product sales by year with color gradient representing performance levels. ```typescript dataSource = [ { Product: 'Product A', Year: 2020, Sales: 50 }, { Product: 'Product A', Year: 2021, Sales: 75 }, { Product: 'Product B', Year: 2020, Sales: 60 }, { Product: 'Product B', Year: 2021, Sales: 85 } ]; xAxis = { labels: ['2020', '2021'], type: 'Labels' }; yAxis = { labels: ['Product A', 'Product B'], type: 'Labels' }; ``` **When:** Comparing performance metrics across multiple dimensions **Why:** Color-coded cells make patterns immediately visible ### Pattern 2: Time-Series Activity Heatmap Show hourly or daily activity patterns with DateTime axis. ```typescript <ejs-heatmap [xAxis]='{ type: "DateTime", intervalType: "Days" }' [yAxis]='{ labels: ["12 AM", "1 AM", "2 AM", "3 AM"] }'> </ejs-heatmap> ``` **When:** Analyzing time-based patterns (traffic, usage, activity) **Why:** DateTime axis automatically formats and scales time data ### Pattern 3: Interactive Cell Selection Enable users to select cells and respond to selection events. ```typescript <ejs-heatmap [cellSettings]='{ border: { width: 1 } }' (cellSelected)='onCellSelect($event)' [allowSelection]='true'> </ejs-heatmap> onCellSelect(event: any) { console.log('Selected cell:', event.cellCollection); } ``` **When:** Building interactive dashboards with drill-down capability **Why:** Selection events enable dynamic filtering and detail views ### Pattern 4: Custom Tooltip with Data Labels Display detailed information on hover and within cells. ```typescript <ejs-heatmap [tooltip]='{ enable: true }'> <e-heatmap-cellsettings [showLabel]='true' [labelFormat]='{ format: "{value}" }'> </e-heatmap-cellsettings> </ejs-heatmap> ``` **When:** Users need detailed values without clicking **Why:** Tooltips reduce cognitive load while maintaining clean appearance ### Pattern 5: Bubble Heatmap Variation Use bubbles instead of cells for alternative visualization. ```typescript <ejs-heatmap [renderingMode]='BubbleHeatMap'> <e-heatmap-cellsettings showLabel='true' bubbleType='Size'> </e-heatmap-cellsettings> </ejs-heatmap> ``` **When:** Emphasizing value magnitude through bubble size **Why:** Bubble size adds an additional visual dimension ## Key Props ### Data and Axes - `dataSource`: Array of data objects (JSON format) - `xAxis`: X-axis configuration (Labels, Numeric, DateTime) - `yAxis`: Y-axis configuration (Labels, Numeric, DateTime) - `valueBound`: Range of color gradient values [min, max] - `cellSettings`: Cell appearance and labels ### Legend and Display - `legendSettings`: Legend positioning, alignment, and appearance - `palette`: Color scheme array or predefined theme - `title`: Heatmap title - `height`, `width`: Chart dimensions ### Interactivity - `allowSelection`: Enable/disable cell selection - `cellSelected`: Event fired on cell selection - `cellRender`: Customize cell appearance - `cellHover`: Hover event for cells - `tooltipSettings`: Tooltip display configuration ### Rendering - `renderingMode`: SVG or Canvas mode - `cellBorder`: Cell border configuration - `showGradientLegend`: Display gradient legend ## Common Use Cases ### Use Case 1: Product Performance Dashboard Display quarterly sales metrics across products using a heatmap. Color intensity shows performance level. Users click cells to see drill-down details. ### Use Case 2: Server Activity Monitor Track server CPU/memory usage by hour of day and day of week. Time-series heatmap with DateTime axes. Auto-switching Canvas mode for large datasets. ### Use Case 3: Correlation Matrix Visualize statistical correlations between multiple variables. Color gradients represent correlation strength. Hover tooltips show exact values. ### Use Case 4: Website Traffic Heatmap Analyze visitor traffic patterns by page and time. Bubble heatmap shows traffic volume. Selection enables filtering by time periods.
在 GitHub 查看