
syncfusion-winui-polar-charts
Implementation guide for Syncfusion WinUI Polar Chart (SfPolarChart) control. Use this when working with polar charts, radar charts, or spider charts for radial data visualization in WinUI applications. This skill covers line and area series for visualizing data in terms of values and angles, multi-dimensional data comparison, and directional data visualization with PolarLineSeries and PolarAreaSeries.
- Installs
- 50
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-polar-charts- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-winui-polar-charts automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Implementing Polar Charts in WinUI
Comprehensive guide for implementing the Syncfusion® WinUI Polar Chart (SfPolarChart) control in Windows App SDK applications. Polar charts visualize data in terms of values and angles, making them ideal for comparing multiple dimensions or showing directional data.
When to Use This Skill
Use this skill when the user needs to:
- Create polar charts (also known as radar, spider, web, star, or cobweb charts)
- Visualize multi-dimensional data with multiple categories around a center point
- Compare multiple data series on the same radial scale
- Display directional data (compass data, wind direction, plant distribution)
- Show cyclical patterns or seasonal variations
- Implement line or area series in polar coordinates
- Customize grid line types (circular or polygon/radar style)
- Configure axis types (Category, Numerical, DateTime, Logarithmic)
- Add legends, data labels, and titles to polar charts
- Apply custom styling and themes to polar visualizations
Component Overview
Control: SfPolarChart
Namespace: Syncfusion.UI.Xaml.Charts
Package: Syncfusion.Chart.WinUI
Platform: WinUI 3 (Windows App SDK)
Key Features
- ✓ Two series types: PolarLineSeries and PolarAreaSeries
- ✓ Multiple series support: Compare different datasets on the same chart
- ✓ Grid line types: Circle (default) or Polygon (radar/spider style)
- ✓ Four axis types: Category, Numerical, DateTime, Logarithmic
- ✓ Rich customization: Legends, data labels, titles, appearance
- ✓ Interactive features: Toggle series visibility, checkbox legends
- ✓ Start angle control: Rotate chart to different starting positions (0°, 90°, 180°, 270°)
- ✓ Closed/Open paths: Control whether series form closed loops
- ✓ MVVM-friendly: Full data binding support
Typical Use Cases
- Business analytics: Market analysis, competitive comparisons
- Scientific visualization: Experiment results, multi-parameter analysis
- Weather data: Wind patterns, precipitation by direction
- Quality metrics: Performance across multiple dimensions
- Sports analytics: Player statistics across different skills
- Survey results: Opinion data across categories
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Installation and NuGet package setup (
Syncfusion.Chart.WinUI) - Basic polar chart implementation in XAML and C#
- Creating data models and view models
- Binding data to series (ItemsSource, XBindingPath, YBindingPath)
- Setting up primary and secondary axes
- Complete working example from scratch
Series Types
📄 Read: references/series-types.md
- PolarLineSeries: Line-based polar series
- PolarAreaSeries: Filled area polar series
- Grid line types: Circle vs Polygon (radar/spider chart)
- Closing paths: IsClosed property for open/closed series
- Multiple series: Displaying multiple datasets together
- Series customization and styling
Axis Configuration
📄 Read: references/axis-configuration.md
- CategoryAxis: Index-based axis for categorical data
- NumericalAxis: Numeric values with range customization
- DateTimeAxis: Time-based data plotting
- LogarithmicAxis: Logarithmic scale for large value ranges
- Axis range customization (Minimum, Maximum, Interval)
- Axis events (ActualRangeChanged, LabelCreated)
Axis Customization
📄 Read: references/axis-customization.md
- Axis labels: Rotation, formatting, custom templates
- Axis titles/headers: Adding and styling axis headers
- Label style customization (fonts, colors, margins)
- Header templates for advanced customization
- Label format strings for different data types
Title and Legend
📄 Read: references/title-legend.md
- Chart title: Header property and customization
- Title alignment (left, center, right)
- Legend configuration: Icons, spacing, placement
- Checkbox legends for toggling series
- Toggle series visibility interactively
- Legend templates and background styling
Data Labels
📄 Read: references/data-labels.md
- Enabling data labels (ShowDataLabels property)
- Label context (YValue, XValue, Percentage)
- Customization (fonts, colors, borders, margins)
- Data label templates for advanced layouts
- Format strings and rotation
- UseSeriesPalette for color coordination
- Connector lines between labels and data points
Appearance and Styling
📄 Read: references/appearance.md
- Default palette brushes
- Custom palette brushes: Define your own color schemes
- Gradient support: LinearGradientBrush and RadialGradientBrush
- Applying gradients to entire charts or individual series
- Series Fill property customization
- Theme integration
Start Angle and Positioning
📄 Read: references/start-angle.md
- StartAngle property (Rotate0, Rotate90, Rotate180, Rotate270)
- Changing rendering position of the chart
- Use cases for different starting angles
- Aligning charts with specific orientations
Troubleshooting
📄 Read: references/troubleshooting.md
- Common setup and installation issues
- Data binding problems and solutions
- Rendering and display issues
- Performance optimization tips
- Best practices and FAQ
Quick Start Example
Here's a minimal working example to create a polar area chart:
1. Data Model
public class PlantData
{
public string Direction { get; set; }
public double Tree { get; set; }
}
2. View Model
using System.Collections.ObjectModel;
public class ChartViewModel
{
public ObservableCollection<PlantData> PlantDetails { get; set; }
public ChartViewModel()
{
PlantDetails = new ObservableCollection<PlantData>()
{
new PlantData { Direction = "North", Tree = 80 },
new PlantData { Direction = "NorthEast", Tree = 87 },
new PlantData { Direction = "East", Tree = 78 },
new PlantData { Direction = "SouthEast", Tree = 85 },
new PlantData { Direction = "South", Tree = 81 },
new PlantData { Direction = "SouthWest", Tree = 88 },
new PlantData { Direction = "West", Tree = 80 },
new PlantData { Direction = "NorthWest", Tree = 85 }
};
}
}
3. XAML Implementation
<Window
x:Class="PolarChartDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:chart="using:Syncfusion.UI.Xaml.Charts"
xmlns:local="using:PolarChartDemo">
<chart:SfPolarChart Header="Plant Distribution">
<!-- Set DataContext to ViewModel -->
<chart:SfPolarChart.DataContext>
<local:ChartViewModel/>
</chart:SfPolarChart.DataContext>
<!-- Primary Axis (Angular) -->
<chart:SfPolarChart.PrimaryAxis>
<chart:CategoryAxis/>
</chart:SfPolarChart.PrimaryAxis>
<!-- Secondary Axis (Radial) -->
<chart:SfPolarChart.SecondaryAxis>
<chart:NumericalAxis/>
</chart:SfPolarChart.SecondaryAxis>
<!-- Legend -->
<chart:SfPolarChart.Legend>
<chart:ChartLegend/>
</chart:SfPolarChart.Legend>
<!-- Series -->
<chart:SfPolarChart.Series>
<chart:PolarAreaSeries ItemsSource="{Binding PlantDetails}"
XBindingPath="Direction"
YBindingPath="Tree"
Label="Tree"
ShowDataLabels="True"/>
</chart:SfPolarChart.Series>
</chart:SfPolarChart>
</Window>
4. C# Code-Behind (Alternative)
using Syncfusion.UI.Xaml.Charts;
public sealed partial class MainWindow : Window
{
public MainWindow()
{
this.InitializeComponent();
// Create chart
SfPolarChart chart = new SfPolarChart();
chart.Header = "Plant Distribution";
// Set ViewModel
ChartViewModel viewModel = new ChartViewModel();
chart.DataContext = viewModel;
// Configure axes
chart.PrimaryAxis = new CategoryAxis();
chart.SecondaryAxis = new NumericalAxis();
// Add legend
chart.Legend = new ChartLegend();
// Create series
PolarAreaSeries series = new PolarAreaSeries();
series.XBindingPath = "Direction";
series.YBindingPath = "Tree";
series.Label = "Tree";
series.ShowDataLabels = true;
series.SetBinding(
ChartSeriesBase.ItemsSourceProperty,
new Binding() { Path = new PropertyPath("PlantDetails") });
chart.Series.Add(series);
// Add chart to window
this.Content = chart;
}
}
Common Patterns
Pattern 1: Radar/Spider Chart (Polygon Grid)
Create a classic radar chart with polygon grid lines:
<chart:SfPolarChart GridLineType="Polygon">
<chart:SfPolarChart.PrimaryAxis>
<chart:CategoryAxis/>
</chart:SfPolarChart.PrimaryAxis>
<chart:SfPolarChart.SecondaryAxis>
<chart:NumericalAxis/>
</chart:SfPolarChart.SecondaryAxis>
<chart:PolarLineSeries ItemsSource="{Binding Data}"
XBindingPath="Category"
YBindingPath="Value"
IsClosed="True"/>
</chart:SfPolarChart>
Pattern 2: Multiple Series Comparison
Compare multiple datasets on the same chart:
<chart:SfPolarChart Header="Multi-Series Comparison">
<chart:SfPolarChart.Legend>
<chart:ChartLegend/>
</chart:SfPolarChart.Legend>
<chart:SfPolarChart.Series>
<chart:PolarLineSeries ItemsSource="{Binding SeriesA}"
XBindingPath="Category"
YBindingPath="Value"
Label="Product A"/>
<chart:PolarLineSeries ItemsSource="{Binding SeriesB}"
XBindingPath="Category"
YBindingPath="Value"
Label="Product B"/>
<chart:PolarLineSeries ItemsSource="{Binding SeriesC}"
XBindingPath="Category"
YBindingPath="Value"
Label="Product C"/>
</chart:SfPolarChart.Series>
</chart:SfPolarChart>
Pattern 3: Styled Data Labels
Add formatted data labels with custom appearance:
<chart:PolarAreaSeries ShowDataLabels="True">
<chart:PolarAreaSeries.DataLabelSettings>
<chart:PolarDataLabelSettings Context="YValue"
Foreground="White"
Background="#1E88E5"
BorderBrush="White"
BorderThickness="1"
FontSize="12"
FontFamily="Calibri"
Format="#.0"/>
</chart:PolarAreaSeries.DataLabelSettings>
</chart:PolarAreaSeries>
Pattern 4: Custom Color Palette
Apply custom colors to the chart:
<chart:SfPolarChart>
<chart:SfPolarChart.Resources>
<BrushCollection x:Key="customBrushes">
<SolidColorBrush Color="#4dd0e1"/>
<SolidColorBrush Color="#26c6da"/>
<SolidColorBrush Color="#00bcd4"/>
</BrushCollection>
</chart:SfPolarChart.Resources>
<chart:SfPolarChart PaletteBrushes="{StaticResource customBrushes}">
<!-- Chart content -->
</chart:SfPolarChart>
</chart:SfPolarChart>
Key Properties
SfPolarChart Properties
| Property | Type | Description |
|---|---|---|
Header | object | Chart title/header |
PrimaryAxis | ChartAxis | Angular axis (around the circle) |
SecondaryAxis | ChartAxis | Radial axis (from center outward) |
Series | ChartSeriesCollection | Collection of series to display |
Legend | ChartLegend | Legend configuration |
GridLineType | PolarChartGridLineType | Circle or Polygon |
StartAngle | ChartPolarAngle | Starting angle (0°, 90°, 180°, 270°) |
PaletteBrushes | IList<Brush> | Custom color palette |
PolarSeries Properties
| Property | Type | Description |
|---|---|---|
ItemsSource | IEnumerable | Data source for the series |
XBindingPath | string | Property path for X values (categories) |
YBindingPath | string | Property path for Y values (numeric) |
Label | string | Series label for legend |
ShowDataLabels | bool | Show/hide data labels |
IsClosed | bool | Close the path (connect last to first) |
Fill | Brush | Fill color for the series |
Stroke | Brush | Stroke color for line series |
DataLabelSettings | PolarDataLabelSettings | Data label configuration |
Axis Properties
| Property | Type | Description |
|---|---|---|
Header | object | Axis title |
Minimum | double | Minimum axis value |
Maximum | double | Maximum axis value |
Interval | double | Interval between labels |
LabelRotation | double | Rotation angle for labels |
LabelStyle | LabelStyle | Label formatting and appearance |
Common Use Cases
Use Case 1: Market Analysis Dashboard
Scenario: Compare product performance across multiple metrics
Implementation: Multi-series polar chart with polygon grid
Read: references/series-types.md for multiple series
Use Case 2: Weather Data Visualization
Scenario: Display wind speed/direction or precipitation patterns
Implementation: Polar area chart with directional categories
Read: references/getting-started.md for data binding
Use Case 3: Skills Assessment
Scenario: Visualize employee or player skills across dimensions
Implementation: Radar chart with data labels showing scores
Read: references/data-labels.md for label customization
Use Case 4: Quality Metrics
Scenario: Show product quality across multiple test parameters
Implementation: Polar line chart with custom color coding
Read: references/appearance.md for styling
Use Case 5: Scientific Data
Scenario: Plot experimental results with logarithmic scale
Implementation: Polar chart with logarithmic axis
Read: references/axis-configuration.md for axis types
Best Practices
-
Choose the right series type:
- Use PolarLineSeries for trends and comparisons
- Use PolarAreaSeries to emphasize magnitude and coverage
-
Grid line type selection:
- Use Circle for continuous data and smoother appearance
- Use Polygon for categorical data and classic radar chart look
-
Axis configuration:
- Use CategoryAxis for named categories (directions, labels)
- Use NumericalAxis for numeric ranges on radial axis
- Set appropriate Minimum, Maximum, and Interval for readability
-
Data labels:
- Enable for small to medium datasets (< 20 points)
- Use rotation and connector lines for better positioning
- Format values appropriately for the data type
-
Multiple series:
- Limit to 3-5 series for clarity
- Use distinct colors and legend
- Consider line series for overlapping data
-
Performance:
- Use ObservableCollection for dynamic data
- Avoid excessive data points in a single series
- Implement data virtualization for very large datasets
-
Accessibility:
- Provide meaningful chart titles and axis labels
- Use high-contrast colors
- Include legend for series identification
Related Components
- Circular Charts: For pie, doughnut, and radial bar charts
- Cartesian Charts: For traditional X-Y coordinate charts (line, bar, column)
- Gauges: For single-value radial indicators
Resources
Next Steps: Navigate to a specific reference document above to implement polar chart features in your WinUI application.
FAQ
What does the syncfusion-winui-polar-charts skill do?
Implementation guide for Syncfusion WinUI Polar Chart (SfPolarChart) control. Use this when working with polar charts, radar charts, or spider charts for radial data visualization in WinUI applications. This skill covers line and area series for visualizing data in terms of values and angles, multi-dimensional data comparison, and directional data visualization with PolarLineSeries and PolarAreaSeries.
How do I install syncfusion-winui-polar-charts?
Run npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-polar-charts in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-winui-polar-charts/ (personal) or .claude/skills/syncfusion-winui-polar-charts/ (project).
Which AI agents can use syncfusion-winui-polar-charts?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-winui-polar-charts safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-winui-polar-charts?
It is published by syncfusion in syncfusion/winui-ui-components-skills. It has 50 recorded installs.
More from syncfusion/winui-ui-components-skills
syncfusion-winui-getting-started
syncfusion/winui-ui-components-skills
Comprehensive guide for setting up Syncfusion WinUI components, including license registration, NuGet package installation, system requirements verification, and troubleshooting. Use this skill when users need help with Syncfusion licensing, installation, WinUI component configuration, theme setup, or resolving installation errors.
syncfusion-winui-treeview
syncfusion/winui-ui-components-skills
Comprehensive guide for implementing Syncfusion WinUI TreeView (SfTreeView) control in desktop applications. Use this skill when working with hierarchical data display, tree structures, or node-based navigation. Covers TreeView implementation for file explorers, organization charts, category browsers, and expandable/collapsible data visualization in WinUI applications.
syncfusion-winui-datagrid
syncfusion/winui-ui-components-skills
Guide for implementing Syncfusion WinUI DataGrid (SfDataGrid) for tabular data display in desktop applications. Use this skill when working with data grids, sorting, filtering, grouping, or CRUD operations. Covers data binding, column configuration, master-details views, Excel export, and performance optimization including data virtualization and custom templates.
syncfusion-winui-badge
syncfusion/winui-ui-components-skills
Guide implementation of the Syncfusion WinUI Badge control (SfBadge) for displaying notification badges and status indicators. Use this skill when working with badge notifications, unread count badges, BadgeContainer, or notification overlays in WinUI applications. Covers shapes, colors, positioning, alignment, animations, and customization patterns.
syncfusion-winui-treegrid
syncfusion/winui-ui-components-skills
Guide for implementing Syncfusion WinUI TreeGrid (SfTreeGrid) components for displaying hierarchical or self-relational data. Use this skill when working with tree-structured grids, parent-child data relationships, or expandable grid rows. Covers TreeGrid features for organizational charts, file system displays, and multi-level data representation in WinUI applications.
syncfusion-winui-numberbox
syncfusion/winui-ui-components-skills
Learn to implement Syncfusion WinUI NumberBox (SfNumberBox) control for numeric input with validation, custom formatting, and value restrictions. Use this skill when you need numeric input fields with currency, percentage, or decimal formatting in WinUI applications.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.