Skip to main content

syncfusion-wpf-sunburst-chart

Implement Syncfusion WPF Sunburst Chart (SfSunburstChart) for hierarchical data visualization. Use this when working with sunburst charts, hierarchical data visualization, multi-level circular charts, or drill-down visualizations. This skill covers displaying organizational hierarchies, file system structures, sales data by region/category, and other multi-level categorical data in concentric circles for WPF applications.

Datos de origen

Repositorio
syncfusion/wpf-ui-components-skills
Última actividad en el origen
6 de julio de 2026 a las 07:21
Idioma detectado de SKILL.md
inglés
Estrellas
5
Forks
2

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
9 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
syncfusion-wpf-sunburst-chart
description
Implement Syncfusion WPF Sunburst Chart (SfSunburstChart) for hierarchical data visualization. Use this when working with sunburst charts, hierarchical data visualization, multi-level circular charts, or drill-down visualizations. This skill covers displaying organizational hierarchies, file system structures, sales data by region/category, and other multi-level categorical data in concentric circles for WPF applications.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
## Assembly Requirements **Required Assembly:** - Syncfusion.SfSunburstChart.WPF **NuGet Package:** ```powershell Install-Package Syncfusion.SfSunburstChart.WPF ``` **Minimum .NET Framework:** 4.5 or higher # Implementing Sunburst Charts Guide for implementing the Syncfusion WPF Sunburst Chart (SfSunburstChart) control for visualizing hierarchical data in concentric circular rings. The sunburst chart displays multi-level categorical data where each ring represents a level in the hierarchy, with the center representing the root and outer rings representing deeper levels. ## When to Use This Skill Use this skill when you need to: - **Visualize hierarchical data** with multiple levels in a circular layout - **Display organizational structures** (departments, teams, roles) - **Show file system hierarchies** (folders, subfolders, files) - **Present sales data** organized by region, category, product, subcategory - **Implement drill-down experiences** with interactive zooming - **Create multi-level circular visualizations** where size represents value - **Display tree-structured data** in a compact, visual format - **Enable interactive exploration** of nested categorical data Sunburst charts are ideal when you have 2-5 levels of hierarchical data and want to show both the structure and relative sizes of categories. ## Component Overview The SfSunburstChart is a specialized WPF control that visualizes hierarchical data in concentric circles: **Key Capabilities:** - **Multi-level hierarchies:** Support for 2-5+ hierarchical levels - **Data binding:** MVVM-compatible with IEnumerable data sources - **Interactive features:** Tooltips, selection, zooming/drill-down - **Visual customization:** Color palettes, data labels, legends - **Animations:** FadeIn and Rotation animations for smooth rendering - **Responsive design:** Customizable radius and angles **Core Properties:** - `ItemsSource` – Data collection (hierarchical data model) - `ValueMemberPath` – Property name for segment sizing - `Levels` – Collection defining each hierarchy level - `GroupMemberPath` – Property for each level's grouping ## Documentation and Navigation Guide ### Getting Started 📄 **Read:** [references/getting-started.md](references/getting-started.md) Use this reference when: - Setting up a new sunburst chart project - Adding assembly references (Syncfusion.SfSunburstChart.WPF) - Creating data models and ViewModels - Binding data to the chart - Adding basic visual elements (header, legend, data labels) - Understanding complete working examples Topics covered: - Assembly references and installation - Namespace imports (XAML and C#) - Data model structure for hierarchical data - ViewModel initialization with ObservableCollection - Basic chart configuration (ItemsSource, ValueMemberPath) - Adding header, legend, and data labels - Theme integration ### Hierarchical Levels Configuration 📄 **Read:** [references/hierarchical-levels.md](references/hierarchical-levels.md) Use this reference when: - Defining the hierarchy structure - Configuring multiple levels (2-5+ levels) - Understanding GroupMemberPath mapping - Organizing data by categories and subcategories Topics covered: - SunburstHierarchicalLevel overview - Levels collection management - GroupMemberPath property usage - Multi-level hierarchy examples - Level ordering and structure ### Data Labels 📄 **Read:** [references/data-labels.md](references/data-labels.md) Use this reference when: - Showing category names and values on segments - Customizing label appearance and positioning - Handling label overflow (Hide or Trim) - Rotating labels for better readability - Creating custom label templates Topics covered: - Enabling/disabling labels (ShowLabel) - LabelOverflowMode (Hide, Trim) - LabelRotationMode (Normal, Angle) - Font customization (FontFamily, FontSize, FontStyle, FontWeight) - Custom templates (LabelTemplate) - Foreground color customization ### Legend Configuration 📄 **Read:** [references/legend.md](references/legend.md) Use this reference when: - Adding a legend to identify categories - Customizing legend icons and layout - Positioning the legend (Left, Right, Top, Bottom) - Implementing legend interactivity (click to select/hide) - Creating custom legend templates Topics covered: - Legend initialization - LegendIcon shapes (Circle, Pentagon, Rectangle, etc.) - Icon sizing (IconHeight, IconWidth) - Custom legend templates (LegendIconTemplate) - Positioning (DockPosition) - Legend interactivity (ClickAction: ToggleSegmentSelection, ToggleSegmentVisibility) ### Animation 📄 **Read:** [references/animation.md](references/animation.md) Use this reference when: - Adding smooth entry animations - Configuring animation duration - Choosing between FadeIn and Rotation animations Topics covered: - EnableAnimation property - AnimationDuration configuration - AnimationType options (FadeIn, Rotation) - Performance considerations ### Visual Customization 📄 **Read:** [references/visual-customization.md](references/visual-customization.md) Use this reference when: - Applying color palettes (predefined or custom) - Creating custom color schemes - Adjusting chart dimensions (radius, inner radius) - Customizing start and end angles - Using gradient brushes Topics covered: - Predefined palettes (Metro, AutumnBrights, FloraHues, etc.) - Custom palettes (ColorModel, CustomBrushes) - Gradient brush examples - Region properties (StartAngle, EndAngle, Radius, InnerRadius) - Visual structure customization ### Interactivity Features 📄 **Read:** [references/interactivity.md](references/interactivity.md) Use this reference when: - Adding tooltips on hover - Implementing segment selection - Enabling drill-down/zooming - Configuring interactive behaviors - Customizing user experience Topics covered: - **Tooltips:** ShowToolTip, alignment, offset, duration, custom templates - **Selection:** SelectionDisplayMode, SelectionMode, SelectionType, SelectionBrush - **Zooming:** SunburstZoomingBehavior, toolbar configuration, drill-down ### Event Handling 📄 **Read:** [references/events.md](references/events.md) Use this reference when: - Responding to segment creation - Handling selection changes - Customizing segments dynamically - Implementing custom behaviors on user actions Topics covered: - SegmentCreated event - SelectionChanged event - Event argument properties - Dynamic segment customization - Event handler patterns ## Quick Start Example Here's a minimal example to create a sunburst chart showing employee distribution: ### 1. Add Assembly Reference ```xml <!-- In your XAML, add namespace --> <Window xmlns:sunburst="clr-namespace:Syncfusion.UI.Xaml.SunburstChart;assembly=Syncfusion.SfSunburstChart.WPF"> ``` ### 2. Create Data Model ```csharp public class EmployeeData { public string Country { get; set; } public string Department { get; set; } public string Team { get; set; } public double EmployeeCount { get; set; } } ``` ### 3. Create ViewModel ```csharp public class ViewModel { public ObservableCollection<EmployeeData> Data { get; set; } public ViewModel() { Data = new ObservableCollection<EmployeeData> { new EmployeeData { Country = "USA", Department = "Sales", Team = "Field Sales", EmployeeCount = 45 }, new EmployeeData { Country = "USA", Department = "Sales", Team = "Inside Sales", EmployeeCount = 30 }, new EmployeeData { Country = "USA", Department = "Engineering", Team = "Development", EmployeeCount = 85 }, new EmployeeData { Country = "USA", Department = "Engineering", Team = "QA", EmployeeCount = 35 }, new EmployeeData { Country = "India", Department = "Engineering", Team = "Development", EmployeeCount = 120 }, new EmployeeData { Country = "India", Department = "Engineering", Team = "QA", EmployeeCount = 40 }, new EmployeeData { Country = "UK", Department = "Sales", Team = "Field Sales", EmployeeCount = 25 }, new EmployeeData { Country = "UK", Department = "Marketing", Team = "Digital", EmployeeCount = 20 } }; } } ``` ### 4. XAML Configuration ```xml <sunburst:SfSunburstChart ItemsSource="{Binding Data}" ValueMemberPath="EmployeeCount" Header="Employee Distribution" FontSize="20"> <!-- Define hierarchy levels --> <sunburst:SfSunburstChart.Levels> <sunburst:SunburstHierarchicalLevel GroupMemberPath="Country"/> <sunburst:SunburstHierarchicalLevel GroupMemberPath="Department"/> <sunburst:SunburstHierarchicalLevel GroupMemberPath="Team"/> </sunburst:SfSunburstChart.Levels> <!-- Add legend --> <sunburst:SfSunburstChart.Legend> <sunburst:SunburstLegend DockPosition="Left"/> </sunburst:SfSunburstChart.Legend> <!-- Add data labels --> <sunburst:SfSunburstChart.DataLabelInfo> <sunburst:SunburstDataLabelInfo ShowLabel="True"/> </sunburst:SfSunburstChart.DataLabelInfo> </sunburst:SfSunburstChart> ``` ### 5. Set DataContext ```csharp public MainWindow() { InitializeComponent(); this.DataContext = new ViewModel(); } ``` ## Common Patterns ### Pattern 1: Hierarchical Data with 3-4 Levels ```xml <sunburst:SfSunburstChart ItemsSource="{Binding HierarchicalData}" ValueMemberPath="Value" Palette="Metro"> <sunburst:SfSunburstChart.Levels> <sunburst:SunburstHierarchicalLevel GroupMemberPath="Level1"/> <sunburst:SunburstHierarchicalLevel GroupMemberPath="Level2"/> <sunburst:SunburstHierarchicalLevel GroupMemberPath="Level3"/> <sunburst:SunburstHierarchicalLevel GroupMemberPath="Level4"/> </sunburst:SfSunburstChart.Levels> </sunburst:SfSunburstChart> ``` **Use when:** Displaying organizational structures, file systems, or multi-level sales data. ### Pattern 2: Interactive Chart with Selection and Tooltips ```xml <sunburst:SfSunburstChart ItemsSource="{Binding Data}" ValueMemberPath="Value"> <sunburst:SfSunburstChart.Behaviors> <!-- Enable selection --> <sunburst:SunburstSelectionBehavior EnableSelection="True" SelectionMode="MouseClick" SelectionType="Single"/> <!-- Enable tooltips --> <sunburst:SunburstToolTipBehavior ShowToolTip="True" ShowDuration="3000"/> </sunburst:SfSunburstChart.Behaviors> </sunburst:SfSunburstChart> ``` **Use when:** Users need to interact with segments for detailed information. ### Pattern 3: Drill-Down with Zooming ```xml <sunburst:SfSunburstChart ItemsSource="{Binding Data}" ValueMemberPath="Value"> <sunburst:SfSunburstChart.Behaviors> <!-- Enable zooming for drill-down --> <sunburst:SunburstZoomingBehavior EnableZooming="True" ToolBarHorizontalAlignment="Right" ToolBarVerticalAlignment="Top"/> </sunburst:SfSunburstChart.Behaviors> </sunburst:SfSunburstChart> ``` **Use when:** Users need to explore deep hierarchies by zooming into specific categories. ### Pattern 4: Custom Palette with Gradient Brushes ```xml <sunburst:SfSunburstChart ItemsSource="{Binding Data}" ValueMemberPath="Value" Palette="Custom"> <sunburst:SfSunburstChart.ColorModel> <sunburst:SunburstColorModel> <sunburst:SunburstColorModel.CustomBrushes> <LinearGradientBrush> <GradientStop Color="#FF6B88E6" Offset="0"/> <GradientStop Color="#FF2C5AA0" Offset="1"/> </LinearGradientBrush> <LinearGradientBrush> <GradientStop Color="#FFE67E6B" Offset="0"/> <GradientStop Color="#FFA0422C" Offset="1"/> </LinearGradientBrush> </sunburst:SunburstColorModel.CustomBrushes> </sunburst:SunburstColorModel> </sunburst:SfSunburstChart.ColorModel> </sunburst:SfSunburstChart> ``` **Use when:** Matching corporate branding or creating custom color themes. ### Pattern 5: Animated Entry with Rotation ```xml <sunburst:SfSunburstChart ItemsSource="{Binding Data}" ValueMemberPath="Value" EnableAnimation="True" AnimationType="Rotation" AnimationDuration="1500"> <!-- Chart configuration --> </sunburst:SfSunburstChart> ``` **Use when:** Adding visual polish with smooth entry animations. ## Key Properties ### Core Data Binding - **ItemsSource** – `IEnumerable` data source (hierarchical data collection) - **ValueMemberPath** – Property name for segment size calculation - **Levels** – Collection of `SunburstHierarchicalLevel` defining hierarchy - **GroupMemberPath** (on levels) – Property for category grouping at each level ### Visual Elements - **Header** – Chart title - **Legend** – `SunburstLegend` for category identification - **DataLabelInfo** – `SunburstDataLabelInfo` for segment labels - **Palette** – Color scheme (Metro, AutumnBrights, Custom, etc.) - **ColorModel** – Custom brush definitions ### Region Properties - **Radius** – Chart outer radius (0.0 to 1.0, default: 0.9) - **InnerRadius** – Center circle radius (0.0 to 1.0, default: 0.2) - **StartAngle** – Starting angle in degrees (default: 0) - **EndAngle** – Ending angle in degrees (default: 360) ### Animation - **EnableAnimation** – Enable/disable entry animation - **AnimationType** – FadeIn or Rotation - **AnimationDuration** – Animation time in milliseconds ### Behaviors - **SunburstToolTipBehavior** – Tooltip configuration - **SunburstSelectionBehavior** – Selection interactivity - **SunburstZoomingBehavior** – Drill-down/zooming ## Common Use Cases ### Use Case 1: Organizational Hierarchy Visualization **Scenario:** Display company structure by region, department, team, and role. **Solution:** - 4 hierarchy levels (Region → Department → Team → Role) - ValueMemberPath = "EmployeeCount" - Enable selection to highlight departments - Add tooltips showing employee counts ### Use Case 2: File System Explorer **Scenario:** Visualize disk usage by folder hierarchy. **Solution:** - 3-5 hierarchy levels (Drive → Folder → Subfolder → File) - ValueMemberPath = "SizeInBytes" - Enable zooming for drill-down navigation - Custom palette showing size with color intensity ### Use Case 3: Sales Dashboard **Scenario:** Display sales by region, category, product, and SKU. **Solution:** - 4 hierarchy levels (Region → Category → Product → SKU) - ValueMemberPath = "SalesAmount" - Interactive legend with ToggleSegmentVisibility - Custom data labels showing sales figures ### Use Case 4: Budget Allocation Viewer **Scenario:** Show budget distribution across departments and projects. **Solution:** - 3 hierarchy levels (Department → Project → Phase) - ValueMemberPath = "BudgetAmount" - Custom color palette matching budget categories - Selection highlighting with custom brushes ### Use Case 5: Website Analytics Hierarchy **Scenario:** Display website traffic by country, page category, and page. **Solution:** - 3 hierarchy levels (Country → Category → Page) - ValueMemberPath = "PageViews" - Animated entry (FadeIn) - Tooltips with additional metrics (bounce rate, time on page) ## Best Practices 1. **Data Structure:** Ensure your data model has distinct properties for each hierarchy level and a numeric property for ValueMemberPath.
Ver en GitHub
Este SKILL.md es muy grande, por eso SkillsMP muestra aqui solo la primera seccion. Ver en GitHub