Skip to main content

syncfusion-react-circular-gauge

Implement Syncfusion React Circular Gauge for displaying KPIs, sensor data, speedometers, and real-time monitoring dashboards. Use this skill when users need to visualize quantitative measurements on a circular scale. Covers axes, pointers, ranges, customization, animations, print/export, accessibility, and internationalization.

Informações da origem

Repositório
syncfusion/react-ui-components-skills
Última atividade na origem
6 de julho de 2026 às 07:17
Idioma detectado do SKILL.md
inglês
Estrelas
3
Forks
9

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
9 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
syncfusion-react-circular-gauge
description
Implement Syncfusion React Circular Gauge for displaying KPIs, sensor data, speedometers, and real-time monitoring dashboards. Use this skill when users need to visualize quantitative measurements on a circular scale. Covers axes, pointers, ranges, customization, animations, print/export, accessibility, and internationalization.
metadata
{"author":"Syncfusion Inc","version":"34.1.29","category":"Data Visualization"}
# Implementing Syncfusion React Circular Gauge ## When to Use This Skill Use the Circular Gauge component when you need to: - **Display measurements** on a circular scale (speedometers, temperature gauges, fuel indicators) - **Monitor KPIs and metrics** in dashboards (business metrics, sensor readings) - **Visualize progress or percentages** in a circular format - **Show real-time data** with animated pointer updates - **Create responsive data visualizations** with multiple pointers and ranges - **Print or export gauge visualizations** for reports The Circular Gauge is ideal for applications requiring visual representation of values on a circular scale with customizable appearance, animations, and interactivity. --- ## Component Overview **Syncfusion React Circular Gauge** (`@syncfusion/ej2-react-circulargauge`) is a data visualization component that displays values on a circular scale. It consists of: - **Axes** - The circular scale tracks with customizable angles, direction, and styling - **Pointers** - Value indicators in three types: Needle (default), RangeBar, or Marker - **Ranges** - Colored segments representing value ranges (e.g., 0-25%, 25-50%) - **Annotations** - Text or image overlays for labels and callouts - **Legend** - Optional legend displaying range meanings - **Export** - Print, PDF, PNG, or SVG export capabilities --- ## Documentation and Navigation Guide Choose the reference based on what you need to implement: ### Getting Started & Setup 📄 **Read:** [references/getting-started.md](references/getting-started.md) - Install `@syncfusion/ej2-react-circulargauge` package - Setup in Vite or Create React App - Basic component initialization - Minimal working example - CSS imports and themes - **When to read:** First time setup or new project integration ### Gauge Structure: Axes, Pointers & Ranges 📄 **Read:** [references/axes-pointers-ranges.md](references/axes-pointers-ranges.md) - Configure axes (angles, direction, styling) - Add and customize pointers (Needle, RangeBar, Marker types) - Define ranges with colors and labels - Multiple axes and pointers - **When to read:** Building the core gauge structure and data visualization ### Visual Appearance & Dimensions 📄 **Read:** [references/appearance-dimensions.md](references/appearance-dimensions.md) - Add titles and customize styling - Position gauge (centerX, centerY) - Set dimensions (width, height, margin) - Apply backgrounds, borders, color schemes - Responsive design - **When to read:** Customizing gauge look, sizing, and layout ### Annotations & Legend 📄 **Read:** [references/annotations-legend.md](references/annotations-legend.md) - Add text annotations - Add image annotations - Position annotations - Display and customize legend - Handle legend interactions - **When to read:** Adding labels, callouts, or explanatory elements ### Advanced Features 📄 **Read:** [references/advanced-features.md](references/advanced-features.md) - Animation effects and timing - User interaction (events, tooltips) - Print and export to PDF/PNG/SVG - Real-time data binding - Multiple gauge instances - **When to read:** Adding interactions, animations, or export functionality ### API Reference 📄 **Read:** [references/api-reference.md](references/api-reference.md) - Component props, events, methods, and child directive reference - Quick lookup for commonly used props, methods and event args - **When to read:** When you need exact API names, types or method signatures ### Accessibility & Internationalization 📄 **Read:** [references/accessibility-i18n.md](references/accessibility-i18n.md) - WCAG 2.1 compliance and ARIA support - Screen reader compatibility - Keyboard navigation - RTL language support - Localization and culture settings - **When to read:** Making gauges accessible or supporting multiple languages ### Common Patterns & Use Cases 📄 **Read:** [references/common-patterns.md](references/common-patterns.md) - Speedometer pattern - Progress/percentage gauge pattern - Temperature/sensor monitoring - Multi-pointer dashboards - Real-time updates with animations - Performance tips and troubleshooting - **When to read:** Looking for common implementations or solving issues --- ## Quick Start Example Here's a minimal working example to get started: ```tsx import React from 'react'; import { CircularGaugeComponent, AxesDirective, AxisDirective, PointersDirective, PointerDirective, RangesDirective, RangeDirective } from '@syncfusion/ej2-react-circulargauge'; export function App() { return ( <div style={{ height: '500px' }}> <CircularGaugeComponent title="Speedometer" centerX="50%" centerY="50%" > <AxesDirective> <AxisDirective startAngle={270} endAngle={90} minimum={0} maximum={100} > <RangesDirective> <RangeDirective start={0} end={30} color='#1E7145' /> <RangeDirective start={30} end={60} color='#F7D900' /> <RangeDirective start={60} end={100} color='#C1192B' /> </RangesDirective> <PointersDirective> <PointerDirective value={65} type='Needle' radius='70%' /> </PointersDirective> </AxisDirective> </AxesDirective> </CircularGaugeComponent> </div> ); } ``` Install the package first: ```bash npm install @syncfusion/ej2-react-circulargauge --save ``` --- ## Common Patterns ### Pattern 1: Simple Progress Indicator ```tsx <CircularGaugeComponent> <AxesDirective> <AxisDirective minimum={0} maximum={100}> <RangesDirective> <RangeDirective start={0} end={50} color='#E8E8E8' /> <RangeDirective start={50} end={100} color='#4CAF50' /> </RangesDirective> <PointersDirective> <PointerDirective value={75} type='RangeBar' /> </PointersDirective> </AxisDirective> </AxesDirective> </CircularGaugeComponent> ``` ### Pattern 2: Multi-Pointer Dashboard Use multiple pointers on the same axis to compare values: ```tsx <PointersDirective> <PointerDirective value={45} type='Needle' /> <PointerDirective value={60} type='Marker' /> </PointersDirective> ``` ### Pattern 3: Real-Time Updates ```tsx const [value, setValue] = useState(50); // Update pointer value on interval useEffect(() => { const timer = setInterval(() => { setValue(prev => (prev + Math.random() * 10) % 100); }, 1000); return () => clearInterval(timer); }, []); // Bind value to pointer <PointerDirective value={value} /> ``` --- ## Key Configuration Props | Prop | Type | Purpose | |------|------|---------| | `title` | string | Gauge title displayed at top | | `centerX` / `centerY` | string | Position (% or px) | | `startAngle` / `endAngle` | number | Axis sweep degrees (0-360) | | `minimum` / `maximum` | number | Axis scale range | | `value` (pointer) | number | Current pointer value | | `type` (pointer) | 'Needle' \| 'RangeBar' \| 'Marker' | Pointer visualization type | | `radius` (pointer) | string | Pointer length (% or px) | | `color` | string | Element color (hex, rgb, name) | | `direction` | 'ClockWise' \| 'AntiClockWise' | Axis direction | | `animationDuration` | number | Animation time in milliseconds | --- For the complete API listing (all component props, events, methods and child directives) see: [references/api-reference.md](references/api-reference.md) ## Common Use Cases 1. **Speedometer/Speed Monitor** - Display vehicle speed with colored ranges 2. **Temperature Gauge** - Monitor temperature with hot/cold indicators 3. **Performance KPI** - Show system metrics or business KPIs 4. **Fuel/Battery Level** - Visualize resource consumption 5. **Network Traffic** - Display bandwidth usage in real-time 6. **Sports/Gaming Scores** - Show player stats or game progress 7. **Industrial Monitoring** - Sensor data visualization 8. **Percentage/Progress** - Alternative circular progress visualization --- ## Next Steps 1. **Start with Getting Started** to set up your first gauge 2. **Build structure** using Axes, Pointers & Ranges reference 3. **Customize appearance** with styling reference 4. **Add interactions** with Advanced Features reference 5. **Test accessibility** using Accessibility reference 6. **Reference common patterns** for implementation ideas For more details or advanced scenarios, consult the specific reference files linked above.
Ver no GitHub