Table of Contents

Class DataLogger

Namespace
ScottPlot.Plottables
Assembly
ScottPlot.dll
public class DataLogger : IPlottable, IManagesAxisLimits, IHasLine, IHasMarker, IHasLegendText
Inheritance
DataLogger
Implements
Inherited Members
Extension Methods

Constructors

DataLogger(List<Coordinates>?)

public DataLogger(List<Coordinates>? coordinates = null)

Parameters

coordinates List<Coordinates>

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

AxisManager

public IAxisLimitManager AxisManager { get; set; }

Property Value

IAxisLimitManager

Color

public Color Color { get; set; }

Property Value

Color

ConnectStyle

The style of lines to use when connecting points.

public ConnectStyle ConnectStyle { get; set; }

Property Value

ConnectStyle

Data

public DataLoggerSource Data { get; }

Property Value

DataLoggerSource

HasNewData

public bool HasNewData { get; }

Property Value

bool

InvertX

public bool InvertX { get; set; }

Property Value

bool

InvertY

public bool InvertY { get; set; }

Property Value

bool

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

Label

[Obsolete("use LegendText")]
public string Label { get; set; }

Property Value

string

LegendItems

Items which will appear in the legend

public IEnumerable<LegendItem> LegendItems { get; }

Property Value

IEnumerable<LegendItem>

LegendText

If populated, this text appears in the legend

public string LegendText { get; set; }

Property Value

string

LineColor

public Color LineColor { get; set; }

Property Value

Color

LinePattern

public LinePattern LinePattern { get; set; }

Property Value

LinePattern

LineStyle

public LineStyle LineStyle { get; set; }

Property Value

LineStyle

LineWidth

public float LineWidth { get; set; }

Property Value

float

ManageAxisLimits

public bool ManageAxisLimits { get; set; }

Property Value

bool

MarkerColor

public Color MarkerColor { get; set; }

Property Value

Color

MarkerFillColor

public Color MarkerFillColor { get; set; }

Property Value

Color

MarkerLineColor

public Color MarkerLineColor { get; set; }

Property Value

Color

MarkerLineWidth

public float MarkerLineWidth { get; set; }

Property Value

float

MarkerShape

public MarkerShape MarkerShape { get; set; }

Property Value

MarkerShape

MarkerSize

public float MarkerSize { get; set; }

Property Value

float

MarkerStyle

public MarkerStyle MarkerStyle { get; set; }

Property Value

MarkerStyle

Period

public double Period { get; set; }

Property Value

double

Rotated

public bool Rotated { get; set; }

Property Value

bool

Methods

Add(Coordinates)

public void Add(Coordinates coordinates)

Parameters

coordinates Coordinates

Add(Coordinates[])

public void Add(Coordinates[] coordinates)

Parameters

coordinates Coordinates[]

Add(IEnumerable<double>)

public void Add(IEnumerable<double> ys)

Parameters

ys IEnumerable<double>

Add(double)

public void Add(double y)

Parameters

y double

Add(double, double)

public void Add(double x, double y)

Parameters

x double
y double

Add(double[], double[])

public void Add(double[] xs, double[] ys)

Parameters

xs double[]
ys double[]

Clear()

public void Clear()

GetAxisLimits()

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

public AxisLimits GetAxisLimits()

Returns

AxisLimits

GetNearest(Coordinates, PixelRect, float)

Get the data point nearest to the given mouse location.

public DataPoint GetNearest(Coordinates mouseLocation, PixelRect dataRect, float maxDistance = 15)

Parameters

mouseLocation Coordinates

Mouse location

dataRect PixelRect

Data rectangle from RenderDetails

maxDistance float

Maximum distance to the point

Returns

DataPoint

GetNearestX(Coordinates, PixelRect, float)

Get the data point nearest to the given mouse location (only considering X values).

public DataPoint GetNearestX(Coordinates mouseLocation, PixelRect dataRect, float maxDistance = 15)

Parameters

mouseLocation Coordinates

Mouse location

dataRect PixelRect

Data rectangle from RenderDetails

maxDistance float

Maximum X distance to the point

Returns

DataPoint

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 void UpdateAxisLimits(Plot plot)

Parameters

plot Plot

ViewFull()

Automatically expand the axis as needed to ensure the full dataset is visible before each render.

public void ViewFull()

ViewJump(double, double)

Automatically adjust the axis limits to track the newest data as it comes in. The axis limits will appear to "jump" when new data runs off the screen.

public void ViewJump(double width = 1000, double paddingFraction = 0.5)

Parameters

width double
paddingFraction double

ViewSlide(double)

Automatically adjust the axis limits to track the newest data as it comes in. The axis limits will appear to "slide" continuously as new data is added.

public void ViewSlide(double width = 1000)

Parameters

width double