Chart Class
NuGet: GHIElectronics.TinyCLR.UI
Assembly: GHIElectronics.TinyCLR.UI
Namespace: GHIElectronics.TinyCLR.UI.Controls
Simple line / bar chart. The rendered surface is cached and only rebuilt when Refresh is called or the control's render size changes — so calling Invalidate on the parent each frame does not redo the chart math.
public class Chart : Image, IDisposable
Constructors
Chart(int width, int height)
public Chart(int width, int height)
Creates a new Chart with the given pixel size.
Properties
DivisionAxisX
public int DivisionAxisX { get; set; }
Spacing factor between labeled divisions on the X axis.
DivisionAxisY
public int DivisionAxisY { get; set; }
Value step ("offset") between Y-axis labels. Labels are drawn at step, 2×step, … up to the first multiple that is >= the max data value; 0 is not labelled. Default 1 (every integer). E.g. 5 gives 5, 10, 15, … The plot scales from 0 to that top value.
Font
public Font Font { get; set; }
Font used for chart text.
AxisPen
public Media.Pen AxisPen { get; set; }
Pen used to draw the axes.
ChartPen
public Media.Pen ChartPen { get; set; }
Pen used to draw the chart series.
EllipseColor
public Media.SolidColorBrush EllipseColor { get; set; }
Brush used to fill the data point markers.
DivisionColor
public Media.SolidColorBrush DivisionColor { get; set; }
Brush used to draw the axis division markers.
TextColor
public Media.SolidColorBrush TextColor { get; set; }
Brush used to draw chart text.
BackgroundColor
public Media.SolidColorBrush BackgroundColor { get; set; }
Brush used to fill the chart background.
AreaColor
public Media.SolidColorBrush AreaColor { get; set; }
Fill under the series when Mode is ChartMode.AreaMode.
RadiusPoint
public int RadiusPoint { get; set; }
Radius in pixels of the data point markers.
ChartTitle
public string ChartTitle { get; set; }
Title text shown above the chart.
Items
public ArrayList Items { get; set; }
The data points to plot.
Mode
public ChartMode Mode { get; set; }
Whether the series is drawn as a line or as bars.
Methods
Refresh()
public void Refresh()
Marks the cached chart surface stale. Call after mutating Items or any styling property to force a re-render on the next paint.
OnRender(DrawingContext dc)
public override void OnRender(DrawingContext dc)
Draws the cached chart surface.
Dispose()
public void Dispose()
Releases the resources used by the chart.
Dispose(bool disposing)
protected virtual void Dispose(bool disposing)
Releases the cached chart bitmap.