MCPInstall

syncfusion-angular-smith-chart

Implement Syncfusion Angular Smith Chart component for high-frequency circuit visualization and transmission line analysis. Use this skill whenever the user needs to create smith charts, visualize impedance or admittance parameters, add multiple series to a smith chart, customize axes and gridlines, configure markers and data labels, implement legends with visibility toggling, add tooltips and export functionality, or styling and accessibility. Covers installation, basic rendering, series management, axis configuration, marker/label customization, legend setup and advanced features.

Installs
259
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-smith-chart
  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-angular-smith-chart 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.

Implementing Syncfusion Angular Smith Chart Component

When to Use This Skill

Use this skill when you need to:

  • Visualize transmission lines - Plot impedance or admittance parameters on smith charts for circuit analysis
  • Create smith charts - Render smith chart components with proper configuration and data binding
  • Add multiple series - Display multiple transmission line series on a single chart
  • Customize axes - Configure horizontal and radial axes with custom labels, gridlines, and styling
  • Highlight data points - Add markers and data labels to emphasize key values
  • Display legends - Implement legends with positioning, alignment, and visibility toggling
  • Enable interactivity - Add tooltips, print functionality, and event handling
  • Style and theme - Apply Syncfusion themes, custom colors, and responsive sizing
  • Ensure accessibility - Support WCAG compliance, keyboard navigation, and RTL layouts

Component Overview

The Syncfusion Angular Smith Chart is a specialized data visualization component for high-frequency circuit applications. It uses two sets of concentric circles (constant resistance and reactance) to plot transmission line parameters for impedance and admittance analysis.

Key Characteristics:

  • Dual-axis system - Horizontal axis (straight line for resistance) and radial axis (circular path for reactance)
  • Render Types - Support for both Impedance (default) and Admittance parameters
  • Multi-series support - Display multiple transmission line series simultaneously with different colors and styles
  • Data binding - Two methods: points array or dataSource with resistance/reactance property mapping
  • Interactive elements - Markers, data labels, tooltips, legends with visibility toggle, and export functionality
  • Customizable styling - Axis labels, major/minor gridlines, colors, themes (Material, Bootstrap, Tailwind), responsive sizing
  • Accessibility features - WCAG compliance, keyboard navigation, RTL (right-to-left) support, screen reader compatibility
  • Event-driven - Load events, series rendering, legend interactions, and tooltip customization
  • Export capabilities - PNG, JPEG, SVG formats for reporting and documentation

Documentation and Navigation Guide

This skill guides you through implementing smith charts. Here are the key topics:

Getting Started

📄 Read: references/getting-started.md

  • Installation and package setup for Angular 19+
  • Basic smith chart component implementation
  • Module injection requirements
  • Data binding with resistance and rectangle values
  • CSS imports and theming
  • When to read: Before implementing your first smith chart

Series and Data Management

📄 Read: references/series-and-data.md

  • Understanding series concepts and data structure
  • Points vs dataSource for data input
  • Impedance and Admittance render types
  • Series customization (fill, opacity, width, visibility)
  • Multiple series examples and patterns
  • Smart labels and overlapping prevention
  • When to read: Bind data and configure multiple series

Axis Customization

📄 Read: references/axis-customization.md

  • Horizontal and radial axis configuration
  • Axis labels (positioning, intersection handling, styling)
  • Major and minor gridlines (visibility, width, dash patterns, opacity)
  • Axis line customization
  • Label and value formatting
  • When to read: Customize axis appearance and behavior

Markers and Data Labels

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

  • Marker configuration and visibility
  • Data label display and formatting
  • Positioning markers and labels without overlap
  • Custom label content (resistance, reactance values)
  • Formatting numeric values
  • When to read: Highlight specific data points or show detailed values

Legend and Interaction

📄 Read: references/legend-and-interaction.md

  • Legend visibility and positioning (top, bottom, left, right, custom)
  • Legend alignment and placement
  • Legend shape customization (circle, rectangle, triangle)
  • Legend sizing and responsiveness
  • Series visibility toggle with legend clicks
  • When to read: Add and configure legends for series identification

Advanced Features

📄 Read: references/advanced-features.md

  • Tooltip configuration and formatting
  • Print and export functionality
  • RTL (Right-to-Left) support
  • Theming and CSS customization
  • Container sizing and responsive behavior
  • WCAG accessibility compliance
  • Keyboard navigation
  • Event handling (click, hover, legend toggle)
  • When to read: Implement complex features like tooltips, export, events, or accessibility

Troubleshooting

📄 Read: references/troubleshooting.md

  • Common implementation issues and solutions
  • Data format validation and errors
  • Module import troubleshooting
  • Performance optimization tips
  • Chart rendering and display issues
  • When to read: Debug issues or optimize chart performance

Quick Start Example

Here's a minimal example to render a basic smith chart:

import { SmithchartModule } from '@syncfusion/ej2-angular-charts'
import { Component } from '@angular/core';

@Component({
  imports: [SmithchartModule],
  standalone: true,
  selector: 'app-container',
  template: `<ejs-smithchart 
    id='smithchart-container'
    [series]="series">
  </ejs-smithchart>`
})
export class AppComponent {
  series = [{
    points: [
      { resistance: 10, reactance: 10 },
      { resistance: 20, reactance: 15 },
      { resistance: 30, reactance: 5 },
      { resistance: 40, reactance: -5 },
      { resistance: 50, reactance: -15 }
    ]
  }]
}

Output: A basic smith chart with one series showing transmission line impedance values.

Common Patterns

Pattern 1: Multi-Series Transmission Line Comparison

Display multiple transmission line series with different colors for impedance comparison:

series = [
  {
    name: 'Transmission Line A',
    points: [
      { resistance: 0.2, reactance: 0.1 },
      { resistance: 0.5, reactance: 0.3 },
      { resistance: 1.0, reactance: 0.5 }
    ],
    fill: '#0066CC',
    marker: { visible: true },
    tooltip: { visible: true }
  },
  {
    name: 'Transmission Line B',
    points: [
      { resistance: 0.3, reactance: 0.15 },
      { resistance: 0.6, reactance: 0.4 },
      { resistance: 1.2, reactance: 0.6 }
    ],
    fill: '#FF6633',
    marker: { visible: true },
    tooltip: { visible: true }
  }
]

Pattern 2: Interactive Tooltips, Legends, and Markers

Enable legends for series identification, tooltips for detailed values, and markers to highlight data points:

@Component({
  template: `
    <ejs-smithchart [series]="series" [legendSettings]="legendSettings">
    </ejs-smithchart>
  `
})
export class AppComponent {
  series = [
    {
      name: 'Device A',
      marker: { 
        visible: true, 
        shape: 'Circle', 
        width: 8,
        height: 8,
        dataLabel: { visible: true }  // ✓ dataLabel INSIDE marker
      },
      tooltip: { visible: true, template: 'R:${resistance}+jX:${reactance}' },
      points: [...]
    }
  ];

  legendSettings = { 
    visible: true, 
    position: 'Bottom',
    alignment: 'Center' 
  };
}

Pattern 3: Admittance Render Type with Axis Customization

Switch to Admittance rendering and customize axes with gridlines:

@Component({
  template: `
    <ejs-smithchart
      renderType: 'Admittance'
      [series]="series"
      [horizontalAxis]="hAxis"
      [radialAxis]="rAxis">
    </ejs-smithchart>
  `
})
export class AppComponent {
  series = [
    {
      points: [...],
    }
  ];

  hAxis = {
    labelPosition: 'Outside',
    majorGridLines: { visible: true, width: 1, opacity: 0.8 },
    minorGridLines: { visible: true, count: 4, opacity: 0.4 }
  };

  rAxis = {
    majorGridLines: { visible: true, width: 1, opacity: 0.8 },
    minorGridLines: { visible: true, count: 4, opacity: 0.4 }
  };
}

Pattern 4: Data-Driven Series from External Source

Bind series data from an array using dataSource property:

series = [
  {
    name: 'Test Results',
    dataSource: [
      { impedance: 50, phase: 0 },     // Will be mapped to resistance/reactance
      { impedance: 75, phase: 15 },
      { impedance: 100, phase: 30 }
    ],
    resistance: 'impedance',
    reactance: 'phase'
  }
];

Pattern 5: Export and Print Integration

Enable export and print functionality for documentation:

@Component({
  template: `
    <div>
      <button (click)="exportChart('PNG')">Export PNG</button>
      <button (click)="exportChart('SVG')">Export SVG</button>
      <button (click)="printChart()">Print</button>
    </div>
    <ejs-smithchart #smithchart [series]="series"></ejs-smithchart>
  `
})
export class AppComponent {
  @ViewChild('smithchart') smithchart!: any;

  exportChart(format: string) {
    this.smithchart.export(format, 'smith-chart-export');
  }

  printChart() {
    this.smithchart.print();
  }
}

## Import Best Practices

### ✅ Minimal Imports (Most Cases)

For basic smith charts without advanced features, import only what you need:

```typescript
import { SmithchartModule } from '@syncfusion/ej2-angular-charts'
import { Component, ViewEncapsulation } from '@angular/core'

@Component({
  imports: [SmithchartModule],  // ✓ Only SmithchartModule needed
  standalone: true,
  encapsulation: ViewEncapsulation.None,
  template: `<ejs-smithchart [series]="series"></ejs-smithchart>`
})
export class AppComponent {
  series = [{ points: [...] }]
}

❌ Don't Import Unnecessary Modules

Avoid importing modules/services you're not using:

// ✗ WRONG - CommonModule not needed in standalone component
import { CommonModule } from '@angular/common'
@Component({
  imports: [SmithchartModule, CommonModule],  // CommonModule is unnecessary
  standalone: true
})

// ✗ WRONG - SmithchartLegendService not needed without custom legend events
import { SmithchartLegendService } from '@syncfusion/ej2-angular-charts'
@Component({
  providers: [SmithchartLegendService],  // Only for custom legend click handling
  standalone: true
})
export class AppComponent {
  legendSettings = { visible: true }  // Basic legend doesn't need the service
}

// ✗ WRONG - TooltipRenderService not needed without tooltips
import { TooltipRenderService } from '@syncfusion/ej2-angular-charts'
@Component({
  providers: [TooltipRenderService],  // Only needed if tooltip: { visible: true }
  standalone: true
})
export class AppComponent {
  series = [{ points: [...] }]  // No tooltip configuration
}

✅ Add Services Only When Needed

Use CaseServiceImport
Basic chartNoneOnly SmithchartModule
With tooltipsTooltipRenderServiceAdd when using tooltip: { visible: true }
Advanced legend clicksSmithchartLegendServiceAdd when handling legend interaction events

Example: Tooltips Only When Used

import { SmithchartModule, TooltipRenderService } from '@syncfusion/ej2-angular-charts'

@Component({
  imports: [SmithchartModule],
  providers: [TooltipRenderService],  // ✓ Add only if using tooltips
  standalone: true
})
export class AppComponent {
  series = [{
    points: [
      { resistance: 0.2, reactance: 0.1 },
      { resistance: 0.4, reactance: 0.3 }
    ],
    tooltip: { visible: true }  // ✓ Tooltips are configured
  }]
}

Key Configuration Properties

PropertyTypeDefaultPurpose
seriesArray[]Array of series with points data for visualization
pointsArray-Data array for a series (resistance, reactance pairs)
dataSourceArray-Bind data from external source or data array
resistancestring-Property name for X-axis value (resistance) from dataSource
reactancestring-Property name for Y-axis value (reactance) from dataSource
namestring-Series name for legend display
renderTypestring'Impedance'Render type: 'Impedance' or 'Admittance'
fillstring-Series line color (hex or named color)
widthnumber2Series line width in pixels
opacitynumber1Series line opacity (0-1)
markerobject-Marker configuration (visible, shape, size)
dataLabelobject-Data label configuration (visible, format)
tooltipobject-Tooltip configuration (visible, format, template)
titleobject-Title configuration (text, visible, styling)
heightstring/number'400px'Chart height (px or percentage)
widthstring/number'100%'Chart width (px or percentage)
themestring'Material'Built-in theme (Material, Bootstrap, Tailwind, etc.)
legendSettingsobject-Legend configuration (visible, position, alignment)
horizontalAxisobject-Horizontal axis customization and labels
radialAxisobject-Radial axis customization and gridlines
enableRtlbooleanfalseEnable right-to-left text direction support
ariaLabelstring-Accessibility label for screen readers

Common Use Cases

  1. Circuit Analysis & Impedance Matching - Visualize impedance matching and transmission line characteristics for high-frequency circuits
  2. Network & Filter Tuning - Display multiple filter responses and network parameters for comparison and optimization
  3. Antenna Design & Optimization - Plot impedance curves for antenna tuning, SWR analysis, and frequency response visualization
  4. RF Engineering - Analyze reflection coefficients, standing wave patterns, and transmission line properties
  5. Microwave Engineering - Design and analyze transmission lines, waveguides, and microwave components
  6. Educational Content - Teach high-frequency circuit concepts with interactive charts and real-time parameter visualization
  7. Performance Dashboards - Monitor multiple transmission line metrics and network parameters in real-time
  8. Device Testing & Validation - Compare measured vs. simulated impedance data for device characterization
  9. Quality Control - Visualize production test results for electronic components on smith charts
  10. Signal Integrity Analysis - Analyze termination impedance and signal reflection for PCB design verification

API Reference

A complete API reference for the Syncfusion Angular Smithchart is available in the references folder. It includes property anchors, method links, and event argument types that map to the official docs.

Read the API reference: references/api-reference.md

Next Steps: Start with getting-started.md to install and render your first smith chart, then explore other reference guides based on your needs.

FAQ

What does the syncfusion-angular-smith-chart skill do?

Implement Syncfusion Angular Smith Chart component for high-frequency circuit visualization and transmission line analysis. Use this skill whenever the user needs to create smith charts, visualize impedance or admittance parameters, add multiple series to a smith chart, customize axes and gridlines, configure markers and data labels, implement legends with visibility toggling, add tooltips and export functionality, or styling and accessibility. Covers installation, basic rendering, series management, axis configuration, marker/label customization, legend setup and advanced features.

How do I install syncfusion-angular-smith-chart?

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

Which AI agents can use syncfusion-angular-smith-chart?

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-angular-smith-chart 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-angular-smith-chart?

It is published by syncfusion in syncfusion/angular-ui-components-skills. It has 259 recorded installs.

More from syncfusion/angular-ui-components-skills

View all →

syncfusion-angular-grid

syncfusion/angular-ui-components-skills

Implements Syncfusion Angular Grid component for feature-rich data tables and grids. Use this when working with data display, sorting, filtering, grouping, aggregates, editing, or exporting. This skill covers grid configuration, CRUD operations, virtual scrolling or infinite scrolling, hierarchy grids, state persistence, and advanced data management features for data-intensive applications.

Frontend & Design342 installs

syncfusion-angular-common

syncfusion/angular-ui-components-skills

Common utilities and features for Syncfusion Angular components. Use this skill when the user needs to implement animations, drag-and-drop, state persistence, RTL support, localization, globalization, security, templates, and advanced features for Syncfusion Angular components.

Frontend & Design327 installs

syncfusion-angular-chart

syncfusion/angular-ui-components-skills

Implement Syncfusion Angular Chart component for professional data visualization. Use this when creating or customizing charts such as line, bar, column, area, pie, financial (candlestick, OHLC), scatter, bubble, or stock charts. Supports axes configuration, series binding, legends, tooltips, zooming, real-time updates, technical indicators, themes, export, and accessibility features.

Frontend & Design321 installs

syncfusion-angular-license

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design319 installs

syncfusion-angular-themes

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design319 installs

syncfusion-angular-rich-text-editor

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design317 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs