Table of Contents

Class RadialGaugePlot

Namespace
ScottPlot.Plottables
Assembly
ScottPlot.dll

A radial gauge chart is a graphical method of displaying scalar data in the form of a chart made of circular gauges so that each scalar is represented by each gauge.

public class RadialGaugePlot : IPlottable
Inheritance
RadialGaugePlot
Implements
Inherited Members
Extension Methods

Constructors

RadialGaugePlot(double[], Color[])

public RadialGaugePlot(double[] levels, Color[] colors)

Parameters

levels double[]
colors Color[]

Fields

Font

Describes labels drawn on each gauge.

public readonly FontStyle Font

Field Value

FontStyle

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

BackgroundTransparencyFraction

Describes how transparent the unfilled background of each gauge is (0 to 1). The larger the number the darker the background becomes.

public double BackgroundTransparencyFraction { get; set; }

Property Value

double

CircularBackground

Controls whether the backgrounds of the gauges are full circles or stop at the maximum angle.

public bool CircularBackground { get; set; }

Property Value

bool

Clockwise

Indicates whether gauges fill clockwise as levels increase. If false, gauges will fill counter-clockwise (anti-clockwise).

public bool Clockwise { get; set; }

Property Value

bool

Colors

Colors for each gauge. Number of colors must equal number of gauges.

public Color[] Colors { get; set; }

Property Value

Color[]

EndCap

Style of the tip of the gauge

public SKStrokeCap EndCap { get; set; }

Property Value

SKStrokeCap

FontSizeFraction

Size of the gague label text as a fraction of the gauge width.

public double FontSizeFraction { get; set; }

Property Value

double

GaugeCount

Number of gauges.

public int GaugeCount { get; }

Property Value

int

GaugeMode

Determines whether the gauges are drawn stacked (dafault value), sequentially, or as a single gauge (ressembling a pie plot).

public RadialGaugeMode GaugeMode { get; set; }

Property Value

RadialGaugeMode

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

LabelPositionFraction

Defines where the gauge label is written on the gage as a fraction of its length. Low values place the label near the base and high values place the label at its tip.

public double LabelPositionFraction { get; set; }

Property Value

double

Labels

Labels that appear in the legend for each gauge. Number of labels must equal number of gauges. May be null if gauges are not to appear in the legend.

public string[]? Labels { get; set; }

Property Value

string[]

LegendItems

Items which will appear in the legend

public IEnumerable<LegendItem> LegendItems { get; }

Property Value

IEnumerable<LegendItem>

LevelTextFormat

String formatter to use for converting gauge levels to text

public string LevelTextFormat { get; set; }

Property Value

string

Levels

This array holds the original levels passed-in by the user. These levels are used to calculate radial gauge positions on every render.

public double[] Levels { get; }

Property Value

double[]

MaximumAngle

Maximum size (degrees) for the gauge. 180 is a semicircle and 360 is a full circle.

public double MaximumAngle { get; set; }

Property Value

double

OrderInsideOut

Controls whether gauges will be dwan inside-out (true) or outside-in (false)

public bool OrderInsideOut { get; set; }

Property Value

bool

ShowLevels

Controls if value labels are shown inside the gauges.

public bool ShowLevels { get; set; }

Property Value

bool

SpaceFraction

The empty space between gauges as a fraction of the gauge width.

public double SpaceFraction { get; set; }

Property Value

double

StartCap

Style of the base of the gauge

public SKStrokeCap StartCap { get; set; }

Property Value

SKStrokeCap

StartingAngle

Angle (degrees) at which the gauges start. 270° for North (default value), 0° for East, 90° for South, 180° for West, etc. Expected values in the range [0°-360°], otherwise unexpected side-effects might happen.

public float StartingAngle { get; set; }

Property Value

float

XAxisIndex

public int XAxisIndex { get; set; }

Property Value

int

YAxisIndex

public int YAxisIndex { get; set; }

Property Value

int

Methods

GetAxisLimits()

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

public AxisLimits GetAxisLimits()

Returns

AxisLimits

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

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

Update(double[], Color[]?)

Replace gauge levels with new ones.

public void Update(double[] levels, Color[]? colors = null)

Parameters

levels double[]
colors Color[]

ValidateData(bool)

public void ValidateData(bool deep = false)

Parameters

deep bool