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:
| Feature |
SfSparkLineChart |
SfSparkAreaChart |
SfSparkBarChart |
SfSparkWinLossChart |
| Primary Purpose |
Trend lines |
Magnitude emphasis |
Discrete comparisons |
Binary outcomes |
| Visualization |
Line |
Filled area |
Vertical bars |
Win/Loss bars |
| Marker Support |
✅ Yes |
✅ Yes |
❌ No |
❌ No |
| Best For |
Continuous trends |
Cumulative data |
Categorical data |
Binary data |
| Data Label |
✅ Yes |
✅ Yes |
✅ Yes |
❌ No |
| Border Style |
Line only |
Area + Border |
Bar + Border |
Bar + Border |
| Special Points |
High, low, first, last, negative |
High, low, first, last, negative |
High, low, first, last, negative |
High, 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
- 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)
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
- Dashboard KPIs - Use SfSparkLineChart for compact trend indicators
- Data Grid Trends - Use any chart type inline with table data
- Performance Metrics - Use SfSparkLineChart with special point colors
- Win-Loss Records - Use SfSparkWinLossChart for game/competition results
- Stock Price Indicators - Use SfSparkLineChart with markers
- Sales Trends - Use SfSparkAreaChart to emphasize volume
- Monthly Comparisons - Use SfSparkBarChart for discrete periods
- Threshold Monitoring - Use plot bands to highlight critical ranges
- Mobile Dashboards - Use compact sparklines for space-limited UIs
- Report Summaries - Use sparklines for quick data overviews
1---2name: syncfusion-flutter-spark-charts3description: 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.4---56# Syncfusion Flutter Spark Charts78This 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**.910## When to Use This Skill1112Use this skill when you need to:1314- **Display compact data visualizations** without complex chart elements15- **Show trends and patterns** in a minimal, condensed format16- **Add inline charts** to tables, cards, or dashboards17- **Visualize KPIs** and performance indicators efficiently18- **Create lightweight visualizations** where space is limited19- **Build dashboard widgets** with quick data insights20- **Implement micro charts** for mobile or web interfaces21- **Display data summaries** without overwhelming detail22- **Show win-loss scenarios** or binary outcomes23- **Add sparklines** to data grids or list items2425## Choosing the Right Chart Type2627### Use **SfSparkLineChart** when:28- You need to **identify patterns and trends** over time29- Showing **continuous data flow** or sequences30- Displaying **seasonal effects** or changes over a period31- **Line trends** are the most appropriate visualization32- Building: stock price trends, temperature changes, sales trends, performance metrics3334### Use **SfSparkAreaChart** when:35- You want to **emphasize magnitude** of changes36- **Cumulative values** need to be highlighted37- The **volume of change** is more important than individual points38- You need to **fill the area under the trend line**39- Building: volume indicators, cumulative metrics, filled trend displays4041### Use **SfSparkBarChart** when:42- **Discrete values** or individual data points are important43- **Comparing values** across categories44- **Column/bar representation** is more intuitive45- Data is **categorical or segmented**46- Building: monthly comparisons, category-wise data, discrete measurements4748### Use **SfSparkWinLossChart** when:49- Showing **binary outcomes** (positive/negative, win/loss)50- **Performance indicators** with success/failure states51- **Win-loss records** or game results52- **Binary status** over time periods53- Building: win-loss records, success metrics, binary performance indicators, tie scenarios5455### Key Differences Summary:5657| Feature | SfSparkLineChart | SfSparkAreaChart | SfSparkBarChart | SfSparkWinLossChart |58|---------|------------------|------------------|-----------------|---------------------|59| **Primary Purpose** | Trend lines | Magnitude emphasis | Discrete comparisons | Binary outcomes |60| **Visualization** | Line | Filled area | Vertical bars | Win/Loss bars |61| **Marker Support** | ✅ Yes | ✅ Yes | ❌ No | ❌ No |62| **Best For** | Continuous trends | Cumulative data | Categorical data | Binary data |63| **Data Label** | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No |64| **Border Style** | Line only | Area + Border | Bar + Border | Bar + Border |65| **Special Points** | High, low, first, last, negative | High, low, first, last, negative | High, low, first, last, negative | High, low, first, last, tie |66| **Dashed Style** | ✅ Yes | ❌ No | ❌ No | ❌ No |6768## Documentation and Navigation Guide6970### Getting Started7172📄 **Read:** [references/getting-started.md](references/getting-started.md)73- Installation and package setup74- Basic implementation for all chart types75- Adding dependencies and imports76- Binding data sources77- First examples and quick starts7879### Chart Overview8081📄 **Read:** [references/overview.md](references/overview.md)82- Spark Charts widget overview and features83- When to use Spark Charts vs full charts84- Four chart types explained85- Key features and capabilities86- Lightweight visualization benefits8788### Chart Types8990📄 **Read:** [references/chart-types.md](references/chart-types.md)91- Line chart (SfSparkLineChart)92- Area chart (SfSparkAreaChart)93- Bar chart (SfSparkBarChart)94- WinLoss chart (SfSparkWinLossChart)95- Chart type comparison and selection96- Type-specific properties and customization97- Dashed line support for line charts9899### Axis Configuration100101📄 **Read:** [references/axis-types.md](references/axis-types.md)102- Numeric axis103- Date-time axis104- Category axis105- Custom data source binding106- Axis line customization107- Axis crossing positions108- Axis styling (color, width, dash array)109110### Data Binding111112📄 **Read:** [references/data-binding.md](references/data-binding.md)113- Simple data binding with List<double>114- Custom data source with xValueMapper and yValueMapper115- Numeric, date-time, and category x-axis values116- Data mapping patterns117- Using .custom() constructors118119### Markers and Data Labels120121📄 **Read:** [references/markers-datalabels.md](references/markers-datalabels.md)122- Marker configuration (line and area charts only)123- Marker shapes (circle, diamond, square, triangle, inverted triangle)124- Marker display modes (all, high, low, first, last, none)125- Marker customization (color, border, size)126- Data label display modes127- Data label styling128129### Trackball130131📄 **Read:** [references/trackball.md](references/trackball.md)132- Enabling trackball for interaction133- Trackball activation modes (tap, longPress, doubleTap)134- Trackball customization (color, border, background)135- Trackball label styling136- Touch interaction patterns137138### Plot Bands139140📄 **Read:** [references/plotband.md](references/plotband.md)141- Highlighting specific Y-axis ranges142- Plot band start and end values143- Plot band styling (color, border)144- Use cases for plot bands145146### Customization and Styling147148📄 **Read:** [references/customization.md](references/customization.md)149- Chart color customization150- Special point colors (high, low, first, last, negative, tie)151- Border styling (width, color)152- Line width customization153- Chart inversion154- Visual appearance patterns155156### Accessibility157158📄 **Read:** [references/accessibility.md](references/accessibility.md)159- Sufficient contrast for charts160- Theme support and customization161- Large font support162- Text scaling with MediaQueryData163- Color customization for accessibility164165## Quick Start Examples166167### Basic Line Chart168169```dart170import 'package:flutter/material.dart';171import 'package:syncfusion_flutter_charts/sparkcharts.dart';172173class MySparkLineChart extends StatelessWidget {174 @override175 Widget build(BuildContext context) {176 return Scaffold(177 appBar: AppBar(title: Text('Spark Line Chart')),178 body: Center(179 child: Container(180 height: 100,181 padding: EdgeInsets.all(16),182 child: SfSparkLineChart(183 data: <double>[184 5, 6, 5, 7, 4, 3, 9, 5, 6, 5, 7, 8, 4, 5, 3, 4, 11, 10, 2, 12, 4, 7, 6, 8185 ],186 ),187 ),188 ),189 );190 }191}192```193194### Bar Chart with Special Points195196```dart197import 'package:flutter/material.dart';198import 'package:syncfusion_flutter_charts/sparkcharts.dart';199200class SparkBarWithColors extends StatelessWidget {201 @override202 Widget build(BuildContext context) {203 return SfSparkBarChart(204 data: <double>[205 10, 6, 8, -5, 11, 5, -2, 7, -3, 6, 8, 10206 ],207 highPointColor: Colors.red,208 lowPointColor: Colors.green,209 firstPointColor: Colors.orange,210 lastPointColor: Colors.orange,211 negativePointColor: Colors.purple,212 );213 }214}215```216217### WinLoss Chart218219```dart220import 'package:flutter/material.dart';221import 'package:syncfusion_flutter_charts/sparkcharts.dart';222223class SparkWinLossChart extends StatelessWidget {224 @override225 Widget build(BuildContext context) {226 return SfSparkWinLossChart(227 data: <double>[228 12, 15, -10, 13, 15, 6, -12, 17, 13, 0, 8, -10229 ],230 color: Colors.blue,231 negativePointColor: Colors.red,232 tiePointColor: Colors.grey,233 );234 }235}236```237238### Chart with Trackball239240```dart241import 'package:flutter/material.dart';242import 'package:syncfusion_flutter_charts/sparkcharts.dart';243244class SparkLineWithTrackball extends StatelessWidget {245 @override246 Widget build(BuildContext context) {247 return SfSparkLineChart(248 axisLineWidth: 0,249 trackball: SparkChartTrackball(250 backgroundColor: Colors.blue.withOpacity(0.8),251 borderColor: Colors.blue.withOpacity(0.8),252 borderWidth: 2,253 color: Colors.blue,254 labelStyle: TextStyle(color: Colors.white),255 activationMode: SparkChartActivationMode.tap,256 ),257 marker: SparkChartMarker(258 displayMode: SparkChartMarkerDisplayMode.all,259 ),260 data: <double>[261 5, 6, 5, 7, 4, 3, 9, 5, 6, 5, 7, 8, 4, 5, 3, 4, 11, 10, 2, 12, 4, 7, 6, 8262 ],263 );264 }265}266```267268## Common Patterns269270### Pattern 1: Dashboard KPI Widget271272```dart273// Compact KPI card with sparkline274class KPICard extends StatelessWidget {275 final String title;276 final String value;277 final List<double> trendData;278 final Color trendColor;279280 const KPICard({281 required this.title,282 required this.value,283 required this.trendData,284 this.trendColor = Colors.blue,285 });286287 @override288 Widget build(BuildContext context) {289 return Card(290 child: Padding(291 padding: EdgeInsets.all(16),292 child: Column(293 crossAxisAlignment: CrossAxisAlignment.start,294 children: [295 Text(title, style: TextStyle(fontSize: 14, color: Colors.grey)),296 SizedBox(height: 8),297 Text(value, style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold)),298 SizedBox(height: 12),299 Container(300 height: 50,301 child: SfSparkLineChart(302 axisLineWidth: 0,303 data: trendData,304 color: trendColor,305 width: 2,306 ),307 ),308 ],309 ),310 ),311 );312 }313}314```315316### Pattern 2: Data Table with Inline Sparklines317318```dart319// Table row with sparkline trend320class DataRowWithSparkline extends StatelessWidget {321 final String label;322 final List<double> data;323324 const DataRowWithSparkline({325 required this.label,326 required this.data,327 });328329 @override330 Widget build(BuildContext context) {331 return Row(332 children: [333 Expanded(334 flex: 2,335 child: Text(label),336 ),337 Expanded(338 flex: 3,339 child: Container(340 height: 30,341 child: SfSparkLineChart(342 axisLineWidth: 0,343 data: data,344 highPointColor: Colors.green,345 lowPointColor: Colors.red,346 ),347 ),348 ),349 ],350 );351 }352}353```354355### Pattern 3: Win-Loss Record Display356357```dart358// Display win-loss record with chart359class WinLossRecord extends StatelessWidget {360 final List<double> results; // 1 for win, -1 for loss, 0 for tie361362 const WinLossRecord({required this.results});363364 @override365 Widget build(BuildContext context) {366 int wins = results.where((r) => r > 0).length;367 int losses = results.where((r) => r < 0).length;368 int ties = results.where((r) => r == 0).length;369370 return Column(371 children: [372 Row(373 mainAxisAlignment: MainAxisAlignment.spaceAround,374 children: [375 Text('W: $wins', style: TextStyle(color: Colors.green)),376 Text('L: $losses', style: TextStyle(color: Colors.red)),377 Text('T: $ties', style: TextStyle(color: Colors.grey)),378 ],379 ),380 SizedBox(height: 8),381 Container(382 height: 40,383 child: SfSparkWinLossChart(384 data: results,385 color: Colors.green,386 negativePointColor: Colors.red,387 tiePointColor: Colors.grey,388 ),389 ),390 ],391 );392 }393}394```395396### Pattern 4: Chart with Plot Band Threshold397398```dart399// Highlight threshold zones with plot band400class ThresholdSparkLine extends StatelessWidget {401 final List<double> data;402 final double thresholdMin;403 final double thresholdMax;404405 const ThresholdSparkLine({406 required this.data,407 this.thresholdMin = 5.0,408 this.thresholdMax = 10.0,409 });410411 @override412 Widget build(BuildContext context) {413 return SfSparkLineChart(414 axisLineWidth: 1,415 axisLineColor: Colors.grey[300],416 data: data,417 color: Colors.blue,418 plotBand: SparkChartPlotBand(419 start: thresholdMin,420 end: thresholdMax,421 color: Colors.green.withOpacity(0.2),422 borderColor: Colors.green,423 borderWidth: 1,424 ),425 );426 }427}428```429430## Key Properties431432### Essential Properties (All Chart Types)433434**Data & Display:**435- `data` - List of data values (List<double>)436- `color` - Primary color of the chart437- `axisLineWidth` - Axis line width (set to 0 to hide)438- `isInversed` - Inverts chart vertically439440**Special Point Colors:**441- `highPointColor`, `lowPointColor`, `firstPointColor`, `lastPointColor`442- `negativePointColor` - For negative values443- `tiePointColor` - For zero values (Win-Loss only)444445**Interactive Features:**446- `marker` - Marker configuration (Line/Area only)447- `trackball` - Interactive tooltip configuration448- `plotBand` - Highlight Y-axis ranges449450**Line Chart Specific:**451- `width` - Line thickness452- `dashArray` - Dashed line pattern [5, 3]453454**Area/Bar/Win-Loss Specific:**455- `borderColor`, `borderWidth` - Chart borders456457**Data Labels:**458- `labelDisplayMode` - Display mode (all, high, low, first, last, none)459- `labelStyle` - Text style configuration460461**Custom Data Binding:**462- Use `.custom()` constructor with `dataCount`, `xValueMapper`, `yValueMapper`463464📄 **For detailed properties:** See [references/customization.md](references/customization.md)465466## Common Use Cases4674681. **Dashboard KPIs** - Use SfSparkLineChart for compact trend indicators4692. **Data Grid Trends** - Use any chart type inline with table data4703. **Performance Metrics** - Use SfSparkLineChart with special point colors4714. **Win-Loss Records** - Use SfSparkWinLossChart for game/competition results4725. **Stock Price Indicators** - Use SfSparkLineChart with markers4736. **Sales Trends** - Use SfSparkAreaChart to emphasize volume4747. **Monthly Comparisons** - Use SfSparkBarChart for discrete periods4758. **Threshold Monitoring** - Use plot bands to highlight critical ranges4769. **Mobile Dashboards** - Use compact sparklines for space-limited UIs47710. **Report Summaries** - Use sparklines for quick data overviews