mcpField
S
syncfusion-winforms-chart

syncfusion-winforms-chart

github.com/syncfusionDevelopment280 installsUpdated 1w ago
Repository

About syncfusion-winforms-chart

A guide to Syncfusion ChartControl for Windows Forms developers, covering chart types, data binding, interaction, and export for business data visualization.

Key features

  1. 0135+ chart types
  2. 02Binding to multiple data sources
  3. 03Multiple series and axes
  4. 04Zooming, panning, and tooltips
  5. 05Export to PDF, Office files, and images

Use cases

  1. 01Showing sales trends and comparisons
  2. 02Visualizing financial market data
  3. 03Creating statistical analysis charts
  4. 04Plotting time-series monitoring data

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-chart

After installing, type/syncfusion-winforms-chartin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
appearance-styling.md
axes-configuration.md
chart-area.md
chart-events.md
chart-series.md
chart-title.md
chart-types.md
data-labels-tooltips.md
data-population.md
exporting-printing.md
getting-started.md
legend-configuration.md
localization.md
performance-optimization.md
runtime-features.md
statistical-formulas.md
troubleshooting.md

Details

From the project README

Implementing Syncfusion Windows Forms Charts

Essential Chart for Windows Forms is a comprehensive charting control supporting 35+ chart types for business applications. It features extensive customization, data binding, interactive capabilities, and export functionality for creating presentation-quality charts.

When to Use This Skill

Use this skill when you need to:

  • Create any type of chart in Windows Forms applications
  • Visualize data with line, area, bar, column, pie, or financial charts
  • Implement interactive charts with zoom, pan, or tooltips
  • Bind chart data from DataSet, DataTable, or custom data sources
  • Configure chart axes, legends, titles, or appearance
  • Export charts to PDF, Excel, Word, or images
  • Add statistical analysis or formulas to charts
  • Customize chart styling, colors

Component Overview

ChartControl is the main component providing:

  • 35+ chart types: Area, Bar, Bubble, Candle, Column, Combination, Funnel, Gantt, Histogram, Line, Pie, Pyramid, and more
  • Flexible data binding: DataSet, DataTable, DataView, custom models via interfaces
  • Multiple series support: Overlay multiple data series with different types
  • Advanced axes: Primary/secondary axes, DateTime support, logarithmic scales, custom intervals
  • Rich customization: Skins, palettes, fonts, gradients, shadows
  • Interactive features: Zooming, panning, tooltips, hit testing, runtime modification
  • Export capabilities: PDF, Excel, Word, images, printing with preview
  • Statistical support: Built-in formulas for analysis

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Assembly deployment and NuGet packages
  • Adding ChartControl to Windows Forms
  • Basic data population with BindingList
  • Design-time ChartWizard configuration
  • First chart example
Chart Types

📄 Read: references/chart-types.md

  • Overview of 35+ available chart types
  • Chart type categories and use cases
  • Y-value requirements per type
  • Setting chart type via Type property
  • Type-specific configuration
Data Population

📄 Read: references/data-population.md

  • Binding DataSet, DataTable, DataView
  • ChartDataBindModel and CategoryAxisDataBindModel
  • Custom data models via IChartSeriesModel
  • Performance optimization for large datasets
Chart Series

📄 Read: references/chart-series.md

  • Creating and adding ChartSeries
  • ChartPoint class for data points
  • Managing X and Y values
  • Series styling and customization
  • Multiple series configuration
Axes Configuration

📄 Read: references/axes-configuration.md

  • Primary and secondary axes (PrimaryXAxis, PrimaryYAxis)
  • Axis value types (Double, DateTime, Category, Logarithmic)
  • Range and interval settings
  • Custom label formatting and positioning
  • Multiple axes support
Chart Area

📄 Read: references/chart-area.md

  • Chart area properties and layout
  • Background, borders, margins
  • Interior customization
  • Shadow effects
Appearance and Styling

📄 Read: references/appearance-styling.md

  • Built-in skins (Metro, Office, etc.)
  • Color palettes and CustomPalette
  • Gradient and solid color styles
  • Font and text formatting
  • BrushInfo for advanced styling
Legend Configuration

📄 Read: references/legend-configuration.md

  • Enabling and positioning legends
  • LegendPosition and LegendAlignment
  • Inside vs outside placement
  • Custom legend items
  • Multiple legends
Chart Title

📄 Read: references/chart-title.md

  • Adding ChartTitle objects
  • Title text and positioning
  • Font and appearance customization
  • Multiple titles support
Data Labels and Tooltips

📄 Read: references/data-labels-tooltips.md

  • Enabling data labels (DisplayText)
  • Label formatting and orientation
  • Tooltip configuration (ShowToolTips)
  • Custom tooltip content via PrepareStyle event
  • Appearance customization
Runtime Features

📄 Read: references/runtime-features.md

  • Zooming and panning capabilities
  • Hit testing for chart regions
  • Interactive manipulation
  • Dynamic data updates
  • Runtime series modification
Chart Events

📄 Read: references/chart-events.md

  • ChartControl and series events
  • PrepareStyle event for customization
  • Mouse and interaction events
  • Chart region click events
  • Event handling patterns
Exporting and Printing

📄 Read: references/exporting-printing.md

  • Export to PDF, Excel, Word
  • Image export (PNG, BMP, JPEG)
  • Printing and print preview
  • Multi-page printing configuration
Statistical Formulas

📄 Read: references/statistical-formulas.md

  • Built-in statistical functions
  • Mean, standard deviation, variance
  • Distributions, T-test, F-test, Z-test
  • Applying formulas to series data
Performance Optimization

📄 Read: references/performance-optimization.md

  • Large dataset handling strategies
  • Data binding performance
  • Rendering optimization
  • Memory management best practices
Localization

📄 Read: references/localization.md

  • Localizing chart text and labels
  • Culture-specific formatting
  • Resource file configuration
  • Date and number formatting
Troubleshooting

📄 Read: references/troubleshooting.md

  • Common issues and solutions
  • Data display problems
  • Performance issues
  • Design-time configuration problems

Quick Start Example

using Syncfusion.Windows.Forms.Chart;
using System.ComponentModel;

// Create a simple data model
public class SalesData
{
    public string Year { get; set; }
    public double Sales { get; set; }
    
    public SalesData(string year, double sales)
    {
        this.Year = year;
        this.Sales = sales;
    }
}

// Populate data
BindingList<SalesData> dataSource = new BindingList<SalesData>();
dataSource.Add(new SalesData("2020", 30));
dataSource.Add(new SalesData("2021", 45));
dataSource.Add(new SalesData("2022", 60));
dataSource.Add(new SalesData("2023", 75));

// Create data model for binding
CategoryAxisDataBindModel dataModel = new CategoryAxisDataBindModel(dataSource);
dataModel.CategoryName = "Year";
dataModel.YNames = new string[] { "Sales" };

// Create and configure series
ChartSeries series = new ChartSeries("Sales");
series.Type = ChartSeriesType.Column;
series.CategoryModel = dataModel;
series.Style.DisplayText = true;

// Configure chart
chartControl1.PrimaryXAxis.ValueType = ChartValueType.Category;
chartControl1.Series.Add(series);
chartControl1.Skins = Skins.Metro;

// Add title
ChartTitle title = new ChartTitle();
title.Text = "Sales Performance";
chartControl1.Titles.Add(title);

// Configure legend
chartControl1.Legend.Visible = true;
chartControl1.LegendAlignment = ChartAlignment.Center;
chartControl1.Legend.Position = ChartDock.Bottom;

Common Patterns

Pattern 1: Multiple Series with Different Types
// Sales as columns
ChartSeries salesSeries = new ChartSeries("Sales");
salesSeries.Type = ChartSeriesType.Column;
salesSeries.Points.Add(1, 100);
salesSeries.Points.Add(2, 150);
salesSeries.Points.Add(3, 120);

// Target as line
ChartSeries targetSeries = new ChartSeries("Target");
targetSeries.Type = ChartSeriesType.Line;
targetSeries.Points.Add(1, 110);
targetSeries.Points.Add(2, 130);
targetSeries.Points.Add(3, 140);

chartControl1.Series.Add(salesSeries);
chartControl1.Series.Add(targetSeries);
Pattern 2: DateTime Axis with Date Data
ChartSeries series = new ChartSeries("Temperature");
series.Type = ChartSeriesType.Line;

// Add points with DateTime X values
series.Points.Add(new DateTime(2024, 1, 1), 18.5);
series.Points.Add(new DateTime(2024, 1, 2), 19.2);
series.Points.Add(new DateTime(2024, 1, 3), 17.8);

// Configure X axis for DateTime
chartControl1.PrimaryXAxis.ValueType = ChartValueType.DateTime;
chartControl1.PrimaryXAxis.DateTimeFormat = "dd/MM/yyyy";
chartControl1.Series.Add(series);
Pattern 3: Custom Tooltips
chartControl1.ShowToolTips = true;
chartSeries.PrepareStyle += (sender, args) =>
{
    ChartSeries series = sender as ChartSeries;
    ChartPoint point = series.Points[args.Index];
    args.Style.ToolTip = $"Value: {point.YValues[0]:N2}";
};
Pattern 4: Export Chart to PDF
// Export to PDF
chartControl1.SaveImage("chart.pdf");

// Export to image
chartControl1.SaveImage("chart.png");

Key Properties

ChartControl:

  • Series - Collection of ChartSeries to display
  • PrimaryXAxis, PrimaryYAxis - Main axes configuration
  • Legend - Legend visibility and appearance
  • Titles - Collection of chart titles
  • ShowToolTips - Enable interactive tooltips

ChartSeries:

  • Type - Chart type (Column, Line, Pie, etc.)
  • Points - Collection of data points
  • CategoryModel - Data binding model
  • Style - Visual appearance settings
  • Text - Series display name

ChartAxis:

  • ValueType - Data type (Double, DateTime, Category, etc.)
  • Range - Min/max values
  • Interval - Spacing between labels
  • Title - Axis title text

Common Use Cases

  1. Sales Dashboard: Column/line charts with multiple series for sales trends
  2. Financial Analysis: Candle/OHLC charts for stock data visualization
  3. Statistical Reports: Histogram, box plot for data distribution analysis
  4. Performance Monitoring: Line charts with DateTime axis for time-series data
  5. Comparison Charts: Bar charts for category comparison
  6. Data Distribution: Pie/doughnut charts for percentage breakdown
  7. Scientific Data: Scatter/bubble charts for correlation analysis
  8. Project Management: Gantt charts for timeline visualization

Related Skills

Comments

Markdown supported