MCPInstall

syncfusion-flutter-spark-charts

Implements Syncfusion Flutter Spark Charts (SfSparkLineChart, SfSparkAreaChart, SfSparkBarChart, SfSparkWinLossChart) for compact, lightweight data visualization. Use when working with micro charts, sparklines, KPI indicators, or inline trend charts in Flutter dashboards. This skill covers chart configuration, data binding, markers, tooltips, and trackball for all four spark chart types.

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/flutter-ui-components-skills --skill syncfusion-flutter-spark-charts
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-flutter-spark-charts automatically when relevant.

  3. 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.

Syncfusion Flutter Spark Charts

This skill covers the Syncfusion Flutter Spark Charts (also known as Micro Charts) - lightweight, condensed chart widgets designed to show data trends in a simple, compact format without axes or coordinates. The package includes four chart types: SfSparkLineChart, SfSparkAreaChart, SfSparkBarChart, and SfSparkWinLossChart.

When to Use This Skill

Use this skill when you need to:

  • Display compact data visualizations without complex chart elements
  • Show trends and patterns in a minimal, condensed format
  • Add inline charts to tables, cards, or dashboards
  • Visualize KPIs and performance indicators efficiently
  • Create lightweight visualizations where space is limited
  • Build dashboard widgets with quick data insights
  • Implement micro charts for mobile or web interfaces
  • Display data summaries without overwhelming detail
  • Show win-loss scenarios or binary outcomes
  • Add sparklines to data grids or list items

Choosing the Right Chart Type

Use SfSparkLineChart when:

  • You need to identify patterns and trends over time
  • Showing continuous data flow or sequences
  • Displaying seasonal effects or changes over a period
  • Line trends are the most appropriate visualization
  • Building: stock price trends, temperature changes, sales trends, performance metrics

Use SfSparkAreaChart when:

  • You want to emphasize magnitude of changes
  • Cumulative values need to be highlighted
  • The volume of change is more important than individual points
  • You need to fill the area under the trend line
  • Building: volume indicators, cumulative metrics, filled trend displays

Use SfSparkBarChart when:

  • Discrete values or individual data points are important
  • Comparing values across categories
  • Column/bar representation is more intuitive
  • Data is categorical or segmented
  • Building: monthly comparisons, category-wise data, discrete measurements

Use SfSparkWinLossChart when:

  • Showing binary outcomes (positive/negative, win/loss)
  • Performance indicators with success/failure states
  • Win-loss records or game results
  • Binary status over time periods
  • Building: win-loss records, success metrics, binary performance indicators, tie scenarios

Key Differences Summary:

FeatureSfSparkLineChartSfSparkAreaChartSfSparkBarChartSfSparkWinLossChart
Primary PurposeTrend linesMagnitude emphasisDiscrete comparisonsBinary outcomes
VisualizationLineFilled areaVertical barsWin/Loss bars
Marker Support✅ Yes✅ Yes❌ No❌ No
Best ForContinuous trendsCumulative dataCategorical dataBinary data
Data Label✅ Yes✅ Yes✅ Yes❌ No
Border StyleLine onlyArea + BorderBar + BorderBar + Border
Special PointsHigh, low, first, last, negativeHigh, low, first, last, negativeHigh, low, first, last, negativeHigh, low, first, last, tie
Dashed Style✅ Yes❌ No❌ No❌ No

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and package setup
  • Basic implementation for all chart types
  • Adding dependencies and imports
  • Binding data sources
  • First examples and quick starts

Chart Overview

📄 Read: references/overview.md

  • Spark Charts widget overview and features
  • When to use Spark Charts vs full charts
  • Four chart types explained
  • Key features and capabilities
  • Lightweight visualization benefits

Chart Types

📄 Read: references/chart-types.md

  • Line chart (SfSparkLineChart)
  • Area chart (SfSparkAreaChart)
  • Bar chart (SfSparkBarChart)
  • WinLoss chart (SfSparkWinLossChart)
  • Chart type comparison and selection
  • Type-specific properties and customization
  • Dashed line support for line charts

Axis Configuration

📄 Read: references/axis-types.md

  • Numeric axis
  • Date-time axis
  • Category axis
  • Custom data source binding
  • Axis line customization
  • Axis crossing positions
  • Axis styling (color, width, dash array)

Data Binding

📄 Read: references/data-binding.md

  • Simple data binding with List<double>
  • Custom data source with xValueMapper and yValueMapper
  • Numeric, date-time, and category x-axis values
  • Data mapping patterns
  • Using .custom() constructors

Markers and Data Labels

📄 Read: references/markers-datalabels.md

  • Marker configuration (line and area charts only)
  • Marker shapes (circle, diamond, square, triangle, inverted triangle)
  • Marker display modes (all, high, low, first, last, none)
  • Marker customization (color, border, size)
  • Data label display modes
  • Data label styling

Trackball

📄 Read: references/trackball.md

  • Enabling trackball for interaction
  • Trackball activation modes (tap, longPress, doubleTap)
  • Trackball customization (color, border, background)
  • Trackball label styling
  • Touch interaction patterns

Plot Bands

📄 Read: references/plotband.md

  • Highlighting specific Y-axis ranges
  • Plot band start and end values
  • Plot band styling (color, border)
  • Use cases for plot bands

Customization and Styling

📄 Read: references/customization.md

  • Chart color customization
  • Special point colors (high, low, first, last, negative, tie)
  • Border styling (width, color)
  • Line width customization
  • Chart inversion
  • Visual appearance patterns

Accessibility

📄 Read: references/accessibility.md

  • Sufficient contrast for charts
  • Theme support and customization
  • Large font support
  • Text scaling with MediaQueryData
  • Color customization for accessibility

Quick Start Examples

Basic Line Chart

import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/sparkcharts.dart';

class MySparkLineChart extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Spark Line Chart')),
      body: Center(
        child: Container(
          height: 100,
          padding: EdgeInsets.all(16),
          child: SfSparkLineChart(
            data: <double>[
              5, 6, 5, 7, 4, 3, 9, 5, 6, 5, 7, 8, 4, 5, 3, 4, 11, 10, 2, 12, 4, 7, 6, 8
            ],
          ),
        ),
      ),
    );
  }
}

Bar Chart with Special Points

import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/sparkcharts.dart';

class SparkBarWithColors extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return SfSparkBarChart(
      data: <double>[
        10, 6, 8, -5, 11, 5, -2, 7, -3, 6, 8, 10
      ],
      highPointColor: Colors.red,
      lowPointColor: Colors.green,
      firstPointColor: Colors.orange,
      lastPointColor: Colors.orange,
      negativePointColor: Colors.purple,
    );
  }
}

WinLoss Chart

import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/sparkcharts.dart';

class SparkWinLossChart extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return SfSparkWinLossChart(
      data: <double>[
        12, 15, -10, 13, 15, 6, -12, 17, 13, 0, 8, -10
      ],
      color: Colors.blue,
      negativePointColor: Colors.red,
      tiePointColor: Colors.grey,
    );
  }
}

Chart with Trackball

import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/sparkcharts.dart';

class SparkLineWithTrackball extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return SfSparkLineChart(
      axisLineWidth: 0,
      trackball: SparkChartTrackball(
        backgroundColor: Colors.blue.withOpacity(0.8),
        borderColor: Colors.blue.withOpacity(0.8),
        borderWidth: 2,
        color: Colors.blue,
        labelStyle: TextStyle(color: Colors.white),
        activationMode: SparkChartActivationMode.tap,
      ),
      marker: SparkChartMarker(
        displayMode: SparkChartMarkerDisplayMode.all,
      ),
      data: <double>[
        5, 6, 5, 7, 4, 3, 9, 5, 6, 5, 7, 8, 4, 5, 3, 4, 11, 10, 2, 12, 4, 7, 6, 8
      ],
    );
  }
}

Common Patterns

Pattern 1: Dashboard KPI Widget

// Compact KPI card with sparkline
class KPICard extends StatelessWidget {
  final String title;
  final String value;
  final List<double> trendData;
  final Color trendColor;

  const KPICard({
    required this.title,
    required this.value,
    required this.trendData,
    this.trendColor = Colors.blue,
  });

  @override
  Widget build(BuildContext context) {
    return Card(
      child: Padding(
        padding: EdgeInsets.all(16),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Text(title, style: TextStyle(fontSize: 14, color: Colors.grey)),
            SizedBox(height: 8),
            Text(value, style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold)),
            SizedBox(height: 12),
            Container(
              height: 50,
              child: SfSparkLineChart(
                axisLineWidth: 0,
                data: trendData,
                color: trendColor,
                width: 2,
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Pattern 2: Data Table with Inline Sparklines

// Table row with sparkline trend
class DataRowWithSparkline extends StatelessWidget {
  final String label;
  final List<double> data;

  const DataRowWithSparkline({
    required this.label,
    required this.data,
  });

  @override
  Widget build(BuildContext context) {
    return Row(
      children: [
        Expanded(
          flex: 2,
          child: Text(label),
        ),
        Expanded(
          flex: 3,
          child: Container(
            height: 30,
            child: SfSparkLineChart(
              axisLineWidth: 0,
              data: data,
              highPointColor: Colors.green,
              lowPointColor: Colors.red,
            ),
          ),
        ),
      ],
    );
  }
}

Pattern 3: Win-Loss Record Display

// Display win-loss record with chart
class WinLossRecord extends StatelessWidget {
  final List<double> results; // 1 for win, -1 for loss, 0 for tie

  const WinLossRecord({required this.results});

  @override
  Widget build(BuildContext context) {
    int wins = results.where((r) => r > 0).length;
    int losses = results.where((r) => r < 0).length;
    int ties = results.where((r) => r == 0).length;

    return Column(
      children: [
        Row(
          mainAxisAlignment: MainAxisAlignment.spaceAround,
          children: [
            Text('W: $wins', style: TextStyle(color: Colors.green)),
            Text('L: $losses', style: TextStyle(color: Colors.red)),
            Text('T: $ties', style: TextStyle(color: Colors.grey)),
          ],
        ),
        SizedBox(height: 8),
        Container(
          height: 40,
          child: SfSparkWinLossChart(
            data: results,
            color: Colors.green,
            negativePointColor: Colors.red,
            tiePointColor: Colors.grey,
          ),
        ),
      ],
    );
  }
}

Pattern 4: Chart with Plot Band Threshold

// Highlight threshold zones with plot band
class ThresholdSparkLine extends StatelessWidget {
  final List<double> data;
  final double thresholdMin;
  final double thresholdMax;

  const ThresholdSparkLine({
    required this.data,
    this.thresholdMin = 5.0,
    this.thresholdMax = 10.0,
  });

  @override
  Widget build(BuildContext context) {
    return SfSparkLineChart(
      axisLineWidth: 1,
      axisLineColor: Colors.grey[300],
      data: data,
      color: Colors.blue,
      plotBand: SparkChartPlotBand(
        start: thresholdMin,
        end: thresholdMax,
        color: Colors.green.withOpacity(0.2),
        borderColor: Colors.green,
        borderWidth: 1,
      ),
    );
  }
}

Key Properties

Essential Properties (All Chart Types)

Data & Display:

  • data - List of data values (List<double>)
  • color - Primary color of the chart
  • axisLineWidth - Axis line width (set to 0 to hide)
  • isInversed - Inverts chart vertically

Special Point Colors:

  • highPointColor, lowPointColor, firstPointColor, lastPointColor
  • negativePointColor - For negative values
  • tiePointColor - For zero values (Win-Loss only)

Interactive Features:

  • marker - Marker configuration (Line/Area only)
  • trackball - Interactive tooltip configuration
  • plotBand - Highlight Y-axis ranges

Line Chart Specific:

  • width - Line thickness
  • dashArray - Dashed line pattern [5, 3]

Area/Bar/Win-Loss Specific:

  • borderColor, borderWidth - Chart borders

Data Labels:

  • labelDisplayMode - Display mode (all, high, low, first, last, none)
  • labelStyle - Text style configuration

Custom Data Binding:

  • Use .custom() constructor with dataCount, xValueMapper, yValueMapper

📄 For detailed properties: See references/customization.md

Common Use Cases

  1. Dashboard KPIs - Use SfSparkLineChart for compact trend indicators
  2. Data Grid Trends - Use any chart type inline with table data
  3. Performance Metrics - Use SfSparkLineChart with special point colors
  4. Win-Loss Records - Use SfSparkWinLossChart for game/competition results
  5. Stock Price Indicators - Use SfSparkLineChart with markers
  6. Sales Trends - Use SfSparkAreaChart to emphasize volume
  7. Monthly Comparisons - Use SfSparkBarChart for discrete periods
  8. Threshold Monitoring - Use plot bands to highlight critical ranges
  9. Mobile Dashboards - Use compact sparklines for space-limited UIs
  10. Report Summaries - Use sparklines for quick data overviews

FAQ

What does the syncfusion-flutter-spark-charts skill do?

Implements Syncfusion Flutter Spark Charts (SfSparkLineChart, SfSparkAreaChart, SfSparkBarChart, SfSparkWinLossChart) for compact, lightweight data visualization. Use when working with micro charts, sparklines, KPI indicators, or inline trend charts in Flutter dashboards. This skill covers chart configuration, data binding, markers, tooltips, and trackball for all four spark chart types.

How do I install syncfusion-flutter-spark-charts?

Run npx skills add https://github.com/syncfusion/flutter-ui-components-skills --skill syncfusion-flutter-spark-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-flutter-spark-charts/ (personal) or .claude/skills/syncfusion-flutter-spark-charts/ (project).

Which AI agents can use syncfusion-flutter-spark-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-flutter-spark-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-flutter-spark-charts?

It is published by syncfusion in syncfusion/flutter-ui-components-skills. It has 50 recorded installs.

More from syncfusion/flutter-ui-components-skills

View all →

syncfusion-flutter-calendar-datepicker

syncfusion/flutter-ui-components-skills

Open the skill to read its SKILL.md instructions.

Mobile58 installs

syncfusion-flutter-cartesian-charts

syncfusion/flutter-ui-components-skills

Implements Syncfusion Flutter Cartesian Charts (SfCartesianChart) for a wide range of 2D chart types in Flutter apps. Use when working with line, column, bar, area, spline, scatter, bubble, financial, stacked, or histogram charts. This skill covers axis types (NumericAxis, CategoryAxis, DateTimeAxis), zoom and pan, tooltip, trackball, legend, annotations, technical indicators, trendlines, and chart export.

Mobile55 installs

syncfusion-flutter-chat

syncfusion/flutter-ui-components-skills

Implements Syncfusion Flutter Chat (SfChat) and AI AssistView (SfAIAssistView) widgets for conversational interfaces in Flutter apps. Use when building chat UIs, AI chatbot interfaces, or messaging screens with support for message bubbles, composers, and action buttons. This skill covers conversation area customization, placeholder screens, theming, RTL support, and AI assistant integration.

Mobile54 installs

syncfusion-flutter-datagrid

syncfusion/flutter-ui-components-skills

Implements Syncfusion Flutter DataGrid (SfDataGrid) for displaying and manipulating tabular data in Flutter applications. Use when working with data grids, data tables, or column-based data presentation using the syncfusionflutterdatagrid package. This skill covers DataGridSource, GridColumn configuration, sorting, filtering, paging, editing, and selection.

Mobile54 installs

syncfusion-flutter-circular-charts

syncfusion/flutter-ui-components-skills

Open the skill to read its SKILL.md instructions.

Mobile53 installs

syncfusion-flutter-sliders

syncfusion/flutter-ui-components-skills

Implements Syncfusion Flutter Slider controls (SfSlider, SfRangeSlider, SfRangeSelector) for numeric value selection and range inputs. Use when working with single-value sliders, range selection, or chart-range controllers in Flutter apps. This skill covers thumb and tooltip customization, ticks, dividers, RTL support, drag modes, and chart integrations.

Mobile52 installs

Popular mobile skills

View category →

design-mobile-apps

designed-by-ai/skills

Design mobile app screens with Sleek, edit Sleek projects, and implement their designs in React Native or HTML.

Mobile1.1M installs

ios-design

uizze.sh

Design and review iOS UI/UX for iPhone apps in SwiftUI, UIKit, or React Native. Use for mobile app design, screen redesigns, navigation flows, typography, forms, keyboard and safe-area layout, and accessibility checks. Apply Apple Human Interface Guidelines and consult real product references through the optional Uizze connection.

Mobile416.5K installs

vercel-react-native-skills

vercel-labs/agent-skills

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

OfficialMobile256.7K installs

animate-expo

emilkowalski/skills

Build animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and expo-haptics. Use when animating anything in an Expo app, adding gestures, sheets, screen transitions, press feedback or haptics, or fixing motion that stutters on device. For web animation use animate.

Mobile140.1K installs

xcode-project-setup

firebase/agent-skills

Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).

OfficialMobile131.2K installs

firebase-remote-config-basics

firebase/agent-skills

Manages Firebase Remote Config templates, feature flags, loading strategies, and SDKs (Android, iOS). Use when downloading/deploying remoteconfig JSON templates, managing version history/feature flags, setting in-app defaults, fetchAndActivate(), real-time listeners, or SDK setup. Don't use for Firebase Hosting, Auth, Firestore, Data Connect, Crashlytics, or App Hosting.

OfficialMobile121.7K installs