agentsclimarketplace

Syncfusion maui toolkit spark charts

Skill syncfusion/maui-toolkit-ui-components-skills/skills/syncfusion-maui-toolkit-spark-charts

Skills for Syncfusion® Toolkit for .NET MAUI components. Enable AI-assisted development with comprehensive documentation, code examples, and best practices for 30+ UI controls including Charts, Calendar, Cards and more.

Install
npx -y skills add syncfusion/maui-toolkit-ui-components-skills --skill syncfusion-maui-toolkit-spark-charts

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Use this skill ALWAYS when the user needs to implement Syncfusion MAUI Spark Charts. Triggers on spark chart, sparkline, micro-chart, trend visualization, data visualization in small spaces, chart types (line, area, column, win/loss), markers, range bands, axis configuration, data point styling. Also use immediately for chart customization, performance optimization, marker configuration, data binding patterns, accessibility needs.

SKILL.md

10.7 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it

Implementing Syncfusion .NET MAUI Spark Charts

When to Use This Skill

Use this skill when implementing the SfSparkChart control in .NET MAUI applications. Spark Charts are lightweight, micro-visualization controls ideal for displaying data trends in compact spaces like dashboards, grids, and reports.

Key Scenarios:

  • Displaying quick data trends without consuming significant UI space
  • Visualizing sales trends, stock performance, or time-series data
  • Showing positive/negative values in Win/Loss scenarios
  • Creating dashboard components with multiple micro-charts
  • Highlighting specific data points (first, last, high, low, negative values)

Component Overview

The SfSparkChart is a compact charting control with four built-in chart types:

Chart TypeUse CaseBest For
SparkLineChartLine-based visualizationIdentifying trends and patterns
SparkAreaChartFilled area visualizationEmphasizing magnitude of change
SparkColumnChartVertical bar visualizationComparing different data values
SparkWinLossChartWin/Loss representationShowing positive/negative scenarios

Core Features:

  • Data binding to ObservableCollection, List, or IEnumerable
  • Four chart types for different visualization needs
  • Marker display and customization (Line/Area charts only)
  • Data point styling (first, last, high, low, negative)
  • Axis display and origin customization
  • Range band highlighting for value regions
  • Lightweight and performance-optimized for micro-visualizations

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and NuGet package setup
  • Project configuration (MauiProgram.cs handler registration)
  • Basic SparkLineChart implementation
  • Namespace imports and first render
  • Data binding setup
  • Copy-paste-ready starter code

Chart Types

📄 Read: references/chart-types.md

  • Choosing the right chart type for your data
  • SparkLineChart: Line-based trend visualization
  • SparkAreaChart: Filled area representation
  • SparkColumnChart: Vertical bar comparison
  • SparkWinLossChart: Win/Loss scenarios
  • When to use each type with code examples
  • Common type selection patterns

Markers and Labels

📄 Read: references/markers-and-labels.md

  • Enabling markers on Line and Area charts
  • Marker shape types and customization
  • Marker styling properties (Fill, Stroke, StrokeWidth, Height, Width)
  • Marker positioning and visibility
  • Common marker patterns (highlighting endpoints, data points)
  • Performance considerations for marker display

Styling and Appearance

📄 Read: references/styling-and-appearance.md

  • Data point styling and color customization
  • First, last, high, and low point highlighting
  • Negative value styling for Column and WinLoss charts
  • Brush and color properties
  • Padding and spacing configuration
  • Size customization and layout control
  • Advanced styling examples

Data Binding

📄 Read: references/data-binding.md

  • Binding to ObservableCollection for reactive updates
  • Binding to List<T> for static data
  • Binding to IEnumerable for LINQ queries
  • XBindingPath and YBindingPath configuration
  • Dynamic data source updates
  • Common binding patterns and best practices

Axis and Ranges

📄 Read: references/axis-and-ranges.md

  • Enabling axis display (ShowAxis property)
  • Axis origin configuration for baseline reference
  • Axis types (Numeric, Category, DateTime)
  • XBindingPath property for category/time-based axes
  • Range band visualization (RangeBandStart, RangeBandEnd, RangeBandFill)
  • Axis line styling and customization
  • Highlighting value regions and thresholds

Quick Start Example

// Step 1: Configure handler in MauiProgram.cs
using Syncfusion.Maui.Toolkit.Hosting;

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .ConfigureSyncfusionToolkit()
            .ConfigureFonts(fonts =>
            {
                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
            });
        return builder.Build();
    }
}

// Step 2: Create basic SparkLineChart in XAML
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:sparkchart="clr-namespace:Syncfusion.Maui.Toolkit.SparkCharts;assembly=Syncfusion.Maui.Toolkit"
             x:Class="SparkChartDemo.MainPage">

    <sparkchart:SfSparkLineChart 
        ItemsSource="{Binding Data}" 
        YBindingPath="Value"
        ShowMarkers="True"
        HeightRequest="100"
        WidthRequest="150">
    </sparkchart:SfSparkLineChart>

</ContentPage>

// Step 3: Bind data from ViewModel
public class SparkDataViewModel
{
    public ObservableCollection<DataPoint> Data { get; set; }
    
    public SparkDataViewModel()
    {
        Data = new ObservableCollection<DataPoint>
        {
            new DataPoint { Value = 10 },
            new DataPoint { Value = 15 },
            new DataPoint { Value = 12 },
            new DataPoint { Value = 20 },
            new DataPoint { Value = 18 }
        };
    }
}

public class DataPoint
{
    public double Value { get; set; }
}

Common Patterns

Pattern 1: Dashboard Summary Card

// Show quick sales trend in a card
<sparkchart:SfSparkLineChart 
    ItemsSource="{Binding MonthlySales}" 
    YBindingPath="Amount"
    ShowMarkers="False"
    FirstPointFill="Blue"
    LastPointFill="Red">
</sparkchart:SfSparkLineChart>

Pattern 2: Performance Indicator with Threshold

// Highlight data within acceptable range using RangeBand
<sparkchart:SfSparkLineChart 
    ItemsSource="{Binding PerformanceMetrics}" 
    YBindingPath="Value"
    ShowAxis="True"
    RangeBandStart="50"
    RangeBandEnd="100"
    RangeBandFill="LightGreen">
</sparkchart:SfSparkLineChart>

Pattern 3: Win/Loss Visualization

// Show positive and negative outcomes
<sparkchart:SfSparkWinLossChart 
    ItemsSource="{Binding GameResults}" 
    YBindingPath="Result"
    NegativePointsFill="Red">
</sparkchart:SfSparkWinLossChart>

Pattern 4: Styled Data Points

// Emphasize critical data points
<sparkchart:SfSparkColumnChart 
    ItemsSource="{Binding MonthlyRevenue}" 
    YBindingPath="Revenue"
    FirstPointFill="Green"
    LastPointFill="Blue"
    HighPointFill="Gold"
    LowPointFill="Red"
    NegativePointsFill="DarkRed">
</sparkchart:SfSparkColumnChart>

Key Props Reference

Core Properties

PropertyTypeDefaultPurpose
ItemsSourceIEnumerable-Data source for chart
YBindingPathstring-Property name for Y-axis values
XBindingPathstring-Property name for X-axis values
Heightdouble-Chart height in pixels
Widthdouble-Chart width in pixels

Display Properties

PropertyTypeDefaultPurpose
ShowMarkersboolfalseDisplay markers (Line/Area only)
ShowAxisboolfalseDisplay axis baseline
PaddingThickness0Space around chart content
AxisOrigindouble-Y-axis value for axis line position

Styling Properties

PropertyTypeDefaultPurpose
FirstPointFillBrush-Color of first data point
LastPointFillBrush-Color of last data point
HighPointFillBrush-Color of highest data point
LowPointFillBrush-Color of lowest data point
NegativePointsFillBrush-Color of negative values (Column/WinLoss)

Range Band Properties

PropertyTypeDefaultPurpose
RangeBandStartdouble-Y-axis start value for range band
RangeBandEnddouble-Y-axis end value for range band
RangeBandFillBrush-Color for range band region

Axis Properties

PropertyTypeDefaultPurpose
AxisTypeSparkChartAxisTypeNumericAxis scale type (Numeric, Category, DateTime)
AxisLineStyleSparkChartLineStyle-Axis appearance (Stroke, StrokeWidth, StrokeDashArray)

Marker Properties (Line/Area Only)

PropertyTypeDefaultPurpose
MarkerSettingsSparkChartMarkerSettings-Marker customization configuration

Common Challenges & Solutions

Issue: Chart appears empty

Causes: Missing ItemsSource binding, incorrect YBindingPath, data source is null
Solutions:

  1. Verify ItemsSource is properly bound to a populated collection
  2. Confirm YBindingPath matches your data property name exactly
  3. Check that data property is public and contains numeric values

Issue: Markers not showing

Note: Markers only work on Line and Area charts
Solutions:

  1. Verify you're using SfSparkLineChart or SfSparkAreaChart
  2. Set ShowMarkers="True" in XAML or code
  3. Check MarkerSettings are not hiding markers (verify Height/Width > 0)

Issue: Range band not visible

Solutions:

  1. Verify RangeBandStart < RangeBandEnd
  2. Ensure range values are within your data's Y-axis range
  3. Check RangeBandFill is not transparent

Issue: Poor performance with large datasets

Solutions:

  1. Consider displaying only recent data points
  2. Use aggregated data instead of raw values
  3. Avoid excessive marker styling on large datasets
  4. Disable ShowMarkers for performance-critical scenarios

Next Steps

Gives 0 of the 12 instructions most performance cost skills give in ~2.4k tokens

Counted across 803 of the 1,058 authors here whose files we hold, read 2026-08-07

  • keep skill files under 500 linesin 82 of 803, across 16 files
  • use imperative form in instructionsin 80 of 803, across 9 files
  • draft assertions while test runs are in progressin 75 of 803, across 9 files
  • create two to three realistic test promptsin 74 of 803, across 9 files
  • write skill descriptions to be pushyin 72 of 803, across 7 files
  • save test cases to evals jsonin 72 of 803, across 6 files
  • ask questions about edge cases and input formatsin 72 of 803, across 7 files
  • save timing data immediately when runs completein 70 of 803, across 5 files
  • include all trigger conditions in the skill descriptionin 69 of 803, across 3 files
  • launch all test runs in a single turnin 69 of 803, across 3 files
  • capture intent before writing a skillin 67 of 803, across 1 file
  • import directly instead of barrel filesin 52 of 803, across 15 files

Said here and by no other author read

  • register the toolkit handler in maui program
  • choose the appropriate chart type for data
  • bind a populated collection to the chart
  • set y binding path to a numeric property
  • use markers only on line or area charts
  • verify range band start is less than end

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.