Table of Contents

Namespace ScottPlot

Classes

AddPlottableExtensions

This class extends Plot.Add.* to add additional plottables provided by this NuGet package

AlignmentExtensions
ArrowShapeExtensions
ArrowStyle
Axes

This object holds an X axis and Y axis and performs 2D coordinate/pixel conversions

AxisManager
AxisSpanUnderMouse
BackgroundStyle
Bar

Represents a single bar in a bar chart

BarSeries

Holds a collection of bars which are all styled the same and have a common label

BinarySearchComparer

IComparer<T> for various types provided by ScottPlot

Box

Holds values for drawing a box-and-whisker symbol

CanvasState

This object manages wraps a SKCanvas and manages calls to SkiaSharp methods to ensure state is tracked across complex render systems.

Colormap
Colors.Windows

Default Windows Colors

Colors.Xkcd

Colors from the xkcd color name survey https://xkcd.com/color/rgb/

CoordinateRangeMutable

Represents a range of values between two coordinates on a single axis

DataOperations
DataSourceUtilities
Drawing

Common operations using the default rendering system.

EdgeExtensions
ExpandingAxisLimits

A stateful analog to AxisLimits deisgned to expand to include given data

FillStyle

This configuration object (reference type) permanently lives inside objects which require styling. It is recommended to use this object as an init-only property.

FontStyle

This configuration object (reference type) permanently lives inside objects which require styling. It is recommended to use this object as an init-only property.

Fonts

Cross-platform tools for working with fonts

GLExtensions
Generate

This class contains methods which generate sample data for testing and demonstration purposes

Generate.DateTime
GenericComparer<T>

Generic helper used to provide IComparer<T> on supported types.

Gradient
GridCell

Represents a single cell in a rectangular grid.

GridStyle
IAxesExtensions
IAxisExtensions
IAxisLimitManagerExtensions
IColormapExtensions
IMultiplotExtensions
IPaletteExtensions
IPanelExtensions
IPlotControlExtensions
Image

Bitmap representation of an image with helper methods for manipulating the image and enabling IO with other platforms

ImageFormatExtensions
ImageFormats
ImageOperations
ImageScaleModeExtensions
Label
LabelStyle
LabelStyleProperties

Classes with a LabelStyle can inherit this to include shortcuts to its most commonly used properties.

LayoutManager

A collection of methods for making common adjustments to plot layouts

Legend
LegendItem
Line
LineStyle

This configuration object (reference type) permanently lives inside objects which require styling. It is recommended to use this object as an init-only property.

LinkedAxisRule
Location

Describes X/Y location in pixel or coordinate space

MarkerShapeExtensions
MarkerStyle

This configuration object (reference type) permanently lives inside objects which require styling. It is recommended to use this object as an init-only property.

MinMaxCache
MultiAxisLimits

Stores the CoordinateRange for all axes on the plot and has methods that can be used to recall them at a future point in time.

Multiplot
MultiplotLayoutSnapshot
MultiplotSharedAxisManager
NumericConversion

This class contains type-specific methods to convert between generic values and doubles optimized for performance using platform-specific features. See discussion in https://github.com/ScottPlot/ScottPlot/pull/1927

Palette
PieSlice
PixelRectExtensions
Platform
Plot
PlotStyle

This object holds many common plot style customizations and facilitates switching between styles or copying styles from one plot to another.

PlottableAdder

Helper methods to create plottable objects and add them to the plot

PolarAxisCircle

A polar axis tick describes the radius of a circle centered at the origin and includes the styling information required to render it

PolarAxisSpoke

A straight line extending outward from the origin

Population
RadarSeries

Defines values and styling information for displaying a single shape on a radar chart

RandomDataGenerator
RenderPack

This object pairs a Plot with pixel/canvas information and is passed throughout the render system to provide screen and canvas information to methods performing rendering.

SampleData

Sample data used for testing

SampleImages
SavedImageInfo
SubplotCollection

Logic that manages a collection of subplots with logic that can perform custom actions when subplots are added or removed.

TickMarkStyle
TriangularAxisCornerLabel

Represents a label at a corner of the triangular plot triangle and includes styling information.

TriangularAxisEdge
Version

Structs

Angle
AxisLimits

This object represents the rectangular visible area on a 2D coordinate system. It simply stores a CoordinateRect but has axis-related methods to act upon it.

AxisLimits3d
Color
Colors
ContextMenuItem

Represents a single item in a right-click pop-up menu

ContourLine
CoordinateLine

Represents a straight line in coordinate space

CoordinateOffset
CoordinatePath
CoordinateRange

Represents a range of values between a pair of bounding coordinates on a single axis. Inverted ranges are permitted, but Min is always less than Max and IsInverted indicates whether this range is inverted.

CoordinateRect

Describes a rectangle in 2D coordinate space.

CoordinateSize
Coordinates

Represents a point in coordinate space (X and Y axis units)

Coordinates3d

Represents a 3d point in coordinate space

DataPoint

Represents a specific point in a DataSource

FractionRect

Describes a rectangular region of a larger rectangle using fractional units

IndexRange

Represents a range of indexes in an array (inclusive)

Layout
LegendLayout
LinePattern
MeasuredText
OHLC
Pixel

Represents an X/Y location on screen in pixel units. Pixels in screen units are distinct from Coordinates with axis units. Pixels use float precision, whereas Coordinates use double precision.

PixelColumn

This data structure describes a single vertical column of pixels that represents the Y span of an X range of data points.

PixelLength

Represents a distance in pixel units

PixelLine

Describes a straight line in pixel space

PixelOffset

Represents the distance from one pixel relative to another in pixel units. Increasing X offset moves a pixel to the right. Increasing Y offset moves a pixel downward.

PixelPadding

Represents the size (in pixels) of padding on all edges of a rectangle

PixelPath
PixelRangeX

Represents a range of pixels between two pixels on the horizontal axis. The value of Left will be SMALLER than the value of Right.

PixelRangeY

Represents a range of pixels between two pixels on the vertical axis used in Signal plots. The value of Top will be SMALLER than the value of Bottom.

PixelRect
PixelSize
PolarCoordinates

Represents a point in polar coordinate space

Range

Represents a range between any two finite values (inclusive)

RenderDetails

Details about a completed render

RootedCoordinateVector

Represents a vector at a point in coordinate space

RootedPixelVector

Represents a vector at a point in pixel space

Tick

Interfaces

IArrowShape

Contains settings and logic for how to draw an arrow once the base and tip pixels have been determined

IAutoScaler

Contains logic for determining new axis limits when Autoscale() is called

IAxes

This interface describes a pair of 1D axes. It is intended to be stored inside IPlottable objects, defining which axes they use and providing logic for coordinate/pixel conversions.

IAxis

This interface describes a 1D axis (horizontal or vertical). Responsibilities include: min/max management, unit/pixel conversion, tick generation (and rendering), axis label rendering, and self-measurement for layout purposes.

IAxisLimitManager

An axis manager contains logic to suggest axis limits given the current view and size of the data.

IAxisRule

These rules are applied just before each render

IColormap
IDataSource

Internal interface used for Utility Functions within DataSourceUtilities

IFinancialTickGenerator
IFontResolver

Provides functionality that converts a requested typeface into a physical font

IFunctionSource
IGetNearest
IGrid

Implement this interface to create a custom grid

IHasArrow
IHasBackground
IHasColorAxis
IHasFill
IHasLegendText
IHasLine

Classes with a LineStyle can implement this to guide addition of standard shortcuts to its most commonly used properties.

IHasMarker
IHasOutline
IHasShadow
IHatch
ILayoutEngine

This interface describes a class that decides how to lay-out a collection of panels around the edges of a figure and create a final layout containing size and position of all panels and also the size and position of the data area.

ILegendLayout
IManagesAxisLimits

This interface is applied to plottables which modify axis limits at render time. The update method is called at render time before the ticks are calculated.

IMarker

Describes logic necessary to render a marker at a point

IMinorTickGenerator
IMultiThreadedPlotControl
IMultiplot
IMultiplotLayout
IOHLCSource
IPalette
IPanel

A panel is a rectangular region outside the data area of a plot. Example panels include axes, colorbars, and titles

IPathStrategy

Strategy for generating a path that connects a collection of pixels

IPlotControl
IPlotMenu
IPlottable

Any object that renders shapes on the canvas using scale information from the axes must implement this interface.

IPlottableGL

This interface is applied to plottables which can be rendered directly on the GPU using an OpenGL shader

IRenderAction
IRenderLast
IScatterSource

Represents a series of data points with distinct X and Y positions in coordinate space.

ISignalSource

This interface is used by plottables to access data while rendering. This interface describes Y data sampled along an X axis at a fixed period.

ISignalXYSource
IStarAxis
ITickGenerator
IVectorFieldSource
IXAxis

Horizontal axis

IYAxis

Vertical axis

IZoomRectangle

Enums

Alignment

Represents the location of a point relative to a rectangle. UpperLeft means the point is at the top left of the rectangle.

ArrowAnchor
ArrowShape
ConnectStyle
Edge
FontWeight
GradientType

Describes the geometry of a color gradient used to fill an area

HorizontalAlignment
ImageFormat
ImagePosition

Describes how to size and position an image inside a given rectangle

LocationUnit
MarkerShape

Standard markers supported by ScottPlot. See demo app for information about creating custom marker shapes.

Orientation
RadialGaugeMode
VerticalAlignment