Table of Contents

Class DataStreamer

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

Constructors

DataStreamer(Plot, double[])

public DataStreamer(Plot plot, double[] data)

Parameters

plot Plot
data double[]

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

Color

public Color Color { get; set; }

Property Value

Color

ContinuouslyAutoscale

[Obsolete("set Plot.Axes.ContinuouslyAutoscale", true)]
public bool ContinuouslyAutoscale { get; set; }

Property Value

bool

Count

public int Count { get; }

Property Value

int

CountTotal

public int CountTotal { get; }

Property Value

int

Data

public DataStreamerSource Data { get; set; }

Property Value

DataStreamerSource

HasNewData

Returns true if data has been added since the last render

public bool HasNewData { get; }

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

If enabled, axis limits will be adjusted automatically if new data runs off the screen.

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

Renderer

Logic for displaying the fixed-length Y values in Data

public IDataStreamerView Renderer { get; set; }

Property Value

IDataStreamerView

Methods

Add(double)

Shift in a new Y value

public void Add(double value)

Parameters

value double

Add(double[])

public void Add(double[] ys)

Parameters

ys double[]

AddRange(IEnumerable<double>)

Shift in a collection of new Y values

public void AddRange(IEnumerable<double> values)

Parameters

values IEnumerable<double>

Clear(double)

Clear the buffer by setting all Y points to the given value

public void Clear(double value = 0)

Parameters

value double

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

UpdateAxisLimits(Plot)

public void UpdateAxisLimits(Plot plot)

Parameters

plot Plot

ViewCustom(IDataStreamerView)

Display the data using a custom rendering function

public void ViewCustom(IDataStreamerView view)

Parameters

view IDataStreamerView

ViewScrollLeft()

Display the data using a view that continuously shifts data to the left, placing the newest data on the right.

public void ViewScrollLeft()

ViewScrollRight()

Display the data using a view that continuously shifts data to the right, placing the newest data on the left.

public void ViewScrollRight()

ViewWipeLeft()

Display the data using a view where new data overlaps old data from right to left.

public void ViewWipeLeft()

ViewWipeRight(double)

Display the data using a view where new data overlaps old data from left to right.

public void ViewWipeRight(double blankFraction = 0)

Parameters

blankFraction double