Table of Contents

Class SmithChartAxis

Namespace
ScottPlot.Plottables
Assembly
ScottPlot.dll

A polar axes uses spoke lines and circles to describe a polar coordinate system where points are represented by a radius and angle. This class draws a polar axes and has options to customize spokes and circles.

public class SmithChartAxis : IPlottable, IManagesAxisLimits
Inheritance
SmithChartAxis
Implements
Inherited Members
Extension Methods

Properties

Axes

This object performs coordinate/pixel translation at render time based on the latest data area. It stores the axes to use for this plottable and also the data area (in pixels) updated just before each render. If this object is null it will be constructed using the default X and Y axes at render time.

public IAxes Axes { get; set; }

Property Value

IAxes

Imaginary

Default style of the concentric circular axis lines

public LineStyle Imaginary { get; set; }

Property Value

LineStyle

ImaginaryTicks

Curves extending from the right side of the outer circle to various points around its circumference

public List<SmithChartAxis.ImaginaryTick> ImaginaryTicks { get; }

Property Value

List<SmithChartAxis.ImaginaryTick>

IsVisible

Toggles whether this plottable is shown and contributes to the automatic axis limit detection. The calling method will check this variable (it does not need to be checked inside the Render method).

public bool IsVisible { get; set; }

Property Value

bool

LabelPaddingFraction

Distance to offset label text

public double LabelPaddingFraction { get; set; }

Property Value

double

LabelStyle

public LabelStyle LabelStyle { get; }

Property Value

LabelStyle

LabelText

public string? LabelText { get; set; }

Property Value

string

LegendItems

Items which will appear in the legend

public IEnumerable<LegendItem> LegendItems { get; }

Property Value

IEnumerable<LegendItem>

ManageAxisLimits

Enable this to modify the axis limits at render time to achieve "square axes" where the units/px values are equal for horizontal and vertical axes, allowing circles to always appear as circles instead of ellipses.

public bool ManageAxisLimits { get; set; }

Property Value

bool

RealLineStyle

Default style of the curved lines extending from the right edge to points around the circumference of the chart outline

public LineStyle RealLineStyle { get; set; }

Property Value

LineStyle

RealTicks

Concentric circular tick lines

public List<SmithChartAxis.RealTick> RealTicks { get; }

Property Value

List<SmithChartAxis.RealTick>

Rotation

Rotates the axis clockwise from its default position (where 0 points right)

public Angle Rotation { get; set; }

Property Value

Angle

Methods

AddImaginaryTick(double)

public SmithChartAxis.ImaginaryTick AddImaginaryTick(double value)

Parameters

value double

Returns

SmithChartAxis.ImaginaryTick

AddRealTick(double)

public SmithChartAxis.RealTick AddRealTick(double value)

Parameters

value double

Returns

SmithChartAxis.RealTick

CalculateGamma(Coordinates)

public static Coordinates CalculateGamma(Coordinates normalizedImpedance)

Parameters

normalizedImpedance Coordinates

Returns

Coordinates

FindIntersectionPoints(Coordinates, double, Coordinates, double)

public static IEnumerable<Coordinates> FindIntersectionPoints(Coordinates pt1, double r1, Coordinates pt2, double r2)

Parameters

pt1 Coordinates
r1 double
pt2 Coordinates
r2 double

Returns

IEnumerable<Coordinates>

GetAxisLimits()

Return the 2D area (in coordinate space) occupied by the data contained in this plottable

public AxisLimits GetAxisLimits()

Returns

AxisLimits

GetCoordinates(PolarCoordinates)

Return the X/Y position of a point defined in polar space

public Coordinates GetCoordinates(PolarCoordinates point)

Parameters

point PolarCoordinates

Returns

Coordinates

GetCoordinates(double, Angle)

Return the X/Y position of a point defined in polar space

public Coordinates GetCoordinates(double radius, Angle angle)

Parameters

radius double
angle Angle

Returns

Coordinates

GetCoordinates(double, double)

Return the X/Y position of the given impedance

public Coordinates GetCoordinates(double resistance, double reactance)

Parameters

resistance double
reactance double

Returns

Coordinates

Render(RenderPack)

Draw the data from this plottable into the data area defined in the Axes. By default the surface is already clipped to the data area, but this can be cleared inside the plottable.

public virtual void Render(RenderPack rp)

Parameters

rp RenderPack

UpdateAxisLimits(Plot)

public virtual void UpdateAxisLimits(Plot plot)

Parameters

plot Plot