mcpField
S
syncfusion-winforms-smith-chart

syncfusion-winforms-smith-chart

github.com/syncfusionData & databases276 installsUpdated 1w ago
Repository

About syncfusion-winforms-smith-chart

This skill covers Syncfusion’s Windows Forms Smith Chart control for developers analyzing transmission lines and high-frequency circuit parameters. It supports impedance and admittance views, with guidance on series, markers, legends, tooltips, and axes.

Key features

  1. 01Impedance and admittance rendering modes
  2. 02Data binding and multiple series
  3. 03Configurable markers and data labels
  4. 04Interactive legend and series toggling
  5. 05Customizable tooltips
  6. 06Axis and gridline configuration

Use cases

  1. 01Analyze RF circuit impedance
  2. 02Visualize transmission line parameters
  3. 03Compare multiple circuit configurations
  4. 04Explore chart data interactively

Install

Copy the command and run it in a terminal.

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

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

Bundled files

References and scripts installed along with SKILL.md.

references/
appearance-styling.md
axes-configuration.md
data-markers.md
getting-started.md
legend-customization.md
performance-optimization.md
rendering-modes.md
series-configuration.md
user-interactions.md

Details

From the project README

Implementing Smith Charts

The Syncfusion Windows Forms Smith chart is one of the most useful data visualization tools for high frequency circuit applications. It contains two sets of circles to plot the parameters of transmission lines.

When to Use This Skill

Use this skill when the user needs to:

  • Visualize impedance or admittance of transmission lines
  • Create Smith Charts for high-frequency circuit applications
  • Plot normalized resistance and reactance values
  • Display normalized conductance and susceptance values
  • Build RF engineering visualization tools
  • Analyze transmission line parameters
  • Create interactive circuit analysis charts
  • Implement line series with data markers on circular plots

Key indicators: User mentions "Smith Chart", "SfSmithChart", "impedance", "admittance", "transmission line", "reactance", "resistance", "RF", "high-frequency circuit", or references circuit parameter visualization.

Component Overview

The Syncfusion Windows Forms Smith Chart (SfSmithChart) is a specialized data visualization control for plotting transmission line parameters. It consists of two families of circles:

  • Impedance mode: Normalized resistance circles and reactance curves
  • Admittance mode: Normalized conductance circles and susceptance curves
Key Features
  • Dual Rendering Modes: Switch between impedance and admittance visualization
  • Line Series: Plot data with customizable line styles and colors
  • Data Markers: Various shapes (circle, rectangle, diamond) with image support
  • Interactive Legends: Toggle series visibility, customizable positioning
  • Tooltips: Configurable tooltips with custom formatting
  • Axes Customization: Control major/minor gridlines, labels, and styling
  • Data Labels: Smart alignment with automatic connector lines
  • Appearance: Multiple color palettes and full styling control
  • Performance: Optimized for large datasets with BeginUpdate/EndUpdate

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Assembly deployment and NuGet package installation
  • Adding Smith Chart via Visual Studio designer
  • Adding Smith Chart programmatically through code
  • Required namespace imports
  • Data binding with DataSource, ResistanceMember, ReactanceMember
  • Adding data points directly to series
  • Basic chart initialization and first render
  • Adding title with Text property
Series and Data Configuration

📄 Read: references/series-configuration.md

  • LineSeries creation and configuration
  • Data binding properties (DataSource, ResistanceMember, ReactanceMember)
  • Line customization (Interior color, StrokeWidth, DashStyle)
  • Series visibility control
  • Data plotting with ArrangeByIndex property
  • Multiple series support and management
Data Markers

📄 Read: references/data-markers.md

  • Enabling markers with MarkerVisible property
  • Marker shapes (Rectangle, Circle, Diamond, etc.)
  • Marker customization (size, colors, borders)
  • Using images as custom markers
  • Data labels overview and smart alignment
  • Automatic connector lines for label collision avoidance
Axes Configuration

📄 Read: references/axes-configuration.md

  • Horizontal axis for resistance/conductance values
  • Radial axis for reactance/susceptance values
  • Major gridlines visibility and styling
  • Minor gridlines configuration and count
  • Axis line appearance customization
  • Label placement (inside/outside chart area)
  • Label intersect action for overlapping labels
  • LabelCreated event for custom label text
Legend Customization

📄 Read: references/legend-customization.md

  • Legend visibility and LegendText for series
  • Positioning with DockPosition (Top, Bottom, Left, Right)
  • Legend icon types and sizing
  • Alignment options (Near, Far, Center)
  • Style customization (colors, borders, spacing)
  • Interactive toggle for series visibility
  • Scrollbar and WrapItems for multiple series
Appearance and Styling

📄 Read: references/appearance-styling.md

  • Chart color palettes (Metro, Nature, etc.)
  • Series-level palette customization
  • Chart area background and border styling
  • Circle radius adjustment
  • BackColor and ChartAreaBackColor properties
User Interactions

📄 Read: references/user-interactions.md

  • Tooltip visibility and configuration
  • Tooltip formatting with placeholders
  • TooltipOptions for appearance customization
  • TooltipOpening event for dynamic content
  • Custom tooltip text and styling
Rendering Modes

📄 Read: references/rendering-modes.md

  • Impedance vs Admittance modes
  • RenderingMode property configuration
  • Understanding resistance/reactance circles
  • Understanding conductance/susceptance circles
  • Mode-specific data interpretation
Performance Optimization

📄 Read: references/performance-optimization.md

  • BeginUpdate and EndUpdate methods
  • Optimizing for large datasets
  • Best practices for adding multiple points
  • Suspending chart repaints during updates

Quick Start Example

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Collections.ObjectModel;
using Syncfusion.WinForms.SmithChart;

public class SmithChartExample : Form
{
    public SmithChartExample()
    {
        // Create Smith Chart
        SfSmithChart chart = new SfSmithChart();
        chart.Text = "Impedance Transmission";
        chart.BackColor = Color.White;  
        
        // Configure axes
        chart.HorizontalAxis.MinorGridlinesVisible = true;
        chart.RadialAxis.MinorGridlinesVisible = true;
        
        // Create series with data
        LineSeries series = new LineSeries();
        series.MarkerVisible = true;
        series.LegendText = "Transmission1";
        series.TooltipVisible = true;
        series.DataSource = GetTransmissionData();
        series.ResistanceMember = "Resistance";
        series.ReactanceMember = "Reactance";
        
        // Add series to chart
        chart.Series.Add(series);
        
        // Show legend
        chart.Legend.Visible = true;
        
        // Add chart to form
        this.Controls.Add(chart);
    }
    
    private ObservableCollection<TransmissionData> GetTransmissionData()
    {
        var data = new ObservableCollection<TransmissionData>();
        data.Add(new TransmissionData { Resistance = 0, Reactance = 0.05 });
        data.Add(new TransmissionData { Resistance = 0.3, Reactance = 0.1 });
        data.Add(new TransmissionData { Resistance = 0.5, Reactance = 0.2 });
        data.Add(new TransmissionData { Resistance = 1.0, Reactance = 0.4 });
        data.Add(new TransmissionData { Resistance = 2.0, Reactance = 0.5 });
        data.Add(new TransmissionData { Resistance = 3.5, Reactance = 0.0 });
        data.Add(new TransmissionData { Resistance = 5, Reactance = -1.0 });
        data.Add(new TransmissionData { Resistance = 10, Reactance = -10 });
        return data;
    }
}

public class TransmissionData
{
    public double Resistance { get; set; }
    public double Reactance { get; set; }
}

Common Patterns

Adding Data via DataSource

When you have a collection of data objects:

// Create data model
var model = new SmithChartModel();

// Configure series
LineSeries series = new LineSeries();
series.DataSource = model.TransmissionData;
series.ResistanceMember = "Resistance";  // Property name for X-axis
series.ReactanceMember = "Reactance";    // Property name for Y-axis
sfSmithChart.Series.Add(series);
Adding Data Points Directly

For dynamic data without a predefined collection:

LineSeries series = new LineSeries();
series.MarkerVisible = true;

// Add individual points
series.Points.Add(0.5, 0.2);
series.Points.Add(1.0, 0.4);
series.Points.Add(2.0, 0.5);

sfSmithChart.Series.Add(series);
Switching Rendering Modes

Toggle between impedance and admittance:

// Impedance mode (default) - shows resistance and reactance
sfSmithChart.RenderingMode = RenderingMode.Impedance;

// Admittance mode - shows conductance and susceptance
sfSmithChart.RenderingMode = RenderingMode.Admittance;
Customizing Series Appearance
LineSeries series = new LineSeries();
series.Interior = Color.Red;           // Line color
series.StrokeWidth = 3;                // Line thickness
series.DashStyle = DashStyle.Dash;     // Line pattern
series.MarkerVisible = true;           // Show markers
series.MarkerType = MarkerType.Circle; // Marker shape
series.MarkerBackColor = Color.Blue;   // Marker fill
Performance for Large Datasets
sfSmithChart.BeginUpdate();  // Suspend repainting

LineSeries series = sfSmithChart.Series[0] as LineSeries;
for (int i = 0; i < 1000; i++)
{
    series.Points.Add(GetResistance(i), GetReactance(i));
}

sfSmithChart.EndUpdate();  // Resume and repaint once

Key Properties

SfSmithChart Properties
PropertyTypeDescription
TextstringChart title displayed at the top
RenderingModeRenderingModeImpedance or Admittance mode
HorizontalAxisChartAxisHorizontal axis configuration
RadialAxisChartAxisRadial axis configuration
SeriesSeriesCollectionCollection of chart series
LegendChartLegendLegend configuration
RadiusfloatCircle diameter (0.1 to 1.0, default 0.95)
BackColorColorChart background color
LineSeries Properties
PropertyTypeDescription
DataSourceobjectData collection to bind
ResistanceMemberstringProperty for resistance/conductance values
ReactanceMemberstringProperty for reactance/susceptance values
InteriorColorLine color
StrokeWidthintLine thickness
DashStyleDashStyleLine pattern (Solid, Dash, Dot, etc.)
MarkerVisibleboolShow/hide data markers
MarkerTypeMarkerTypeMarker shape
TooltipVisibleboolEnable tooltips
LegendTextstringText shown in legend
VisibleboolShow/hide series
ArrangeByIndexboolPlot by index vs sorted by resistance
ChartAxis Properties
PropertyTypeDescription
MajorGridlinesVisibleboolShow/hide major gridlines
MinorGridlinesVisibleboolShow/hide minor gridlines
MinorGridlinesCountintNumber of minor gridlines between major
LabelPlacementLabelPlacementInside or Outside chart area
LabelIntersectActionLabelIntersectActionsHandle overlapping labels (Hide)
AxisLineVisibleboolShow/hide axis line

Common Use Cases

High-Frequency Circuit Analysis

Use impedance mode to analyze RF circuit behavior:

  • Plot measured S-parameters
  • Visualize matching network performance
  • Analyze antenna impedance characteristics
Transmission Line Visualization

Display transmission line parameters:

  • Show normalized impedance along a transmission line
  • Plot reflection coefficients
  • Visualize VSWR circles
Multiple Trace Comparison

Compare different circuit configurations:

  • Add multiple series with different LegendText
  • Use different colors for each series
  • Enable legend with ToggleSeriesVisible for interactive comparison
Interactive Data Exploration

Provide users with exploration tools:

  • Enable tooltips with custom formatting
  • Use TooltipOpening event for dynamic content
  • Add data labels for key points
  • Allow legend-based series toggling
Custom Marker Visualization

Highlight specific data points:

  • Use different marker types per series
  • Add image markers for special points
  • Customize marker sizes and colors

Troubleshooting

Data Not Appearing
  • Ensure DataSource is set and contains valid data
  • Verify ResistanceMember and ReactanceMember match property names exactly (case-sensitive)
  • Check that data values are within valid ranges
  • Confirm series is added to sfSmithChart.Series collection
Performance Issues with Large Datasets
  • Wrap point additions in BeginUpdate() / EndUpdate() blocks
  • Disable markers if not needed (MarkerVisible = false)
  • Consider data sampling for extremely large datasets
Labels Overlapping
  • Use LabelIntersectAction = LabelIntersectActions.Hide to auto-hide overlapping labels
  • Adjust chart size or use LabelPlacement.Inside for more space
  • Smart alignment automatically handles data label collisions
Legend Not Showing
  • Set chart.Legend.Visible = true
  • Ensure each series has LegendText property set
  • Check that chart has enough space for legend based on DockPosition

Comments

Markdown supported