ScottPlot
Loading...
Searching...
No Matches
Namespaces | Classes | Enumerations | Functions
ScottPlot Namespace Reference

Namespaces

namespace  ArrowShapes
 
namespace  AutoScalers
 
namespace  Avalonia
 
namespace  AxisLimitManagers
 
namespace  AxisPanels
 
namespace  AxisRules
 
namespace  Blazor
 
namespace  Collections
 
namespace  Colormaps
 
namespace  DataGenerators
 
namespace  DataSources
 
namespace  DataViews
 
namespace  Eto
 
namespace  Finance
 
namespace  FontResolvers
 
namespace  Grids
 
namespace  Hatches
 
namespace  Interactivity
 
namespace  IO
 
namespace  LayoutEngines
 
namespace  LegendLayouts
 
namespace  Markers
 
namespace  Maui
 
namespace  MultiplotLayouts
 
namespace  NamedColors
 
namespace  OpenGL
 
namespace  Palettes
 
namespace  Panels
 
namespace  PathStrategies
 
namespace  PlotStyles
 
namespace  Plottables
 
namespace  Rendering
 
namespace  Reporting
 
namespace  StarAxes
 
namespace  Statistics
 
namespace  Stylers
 
namespace  Testing
 
namespace  TickGenerators
 
namespace  Triangulation
 
namespace  WinForms
 
namespace  WinUI
 
namespace  WPF
 

Classes

class  AddPlottableExtensions
 This class extends Plot.Add.* to add additional plottables provided by this NuGet package.
 
class  AlignmentExtensions
 
struct  Angle
 
class  ArrowShapeExtensions
 
class  ArrowStyle
 
class  Axes
 This object holds an X axis and Y axis and performs 2D coordinate/pixel conversions. More...
 
struct  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. More...
 
struct  AxisLimits3d
 
class  AxisManager
 
class  AxisSpanUnderMouse
 
class  BackgroundStyle
 
class  Bar
 Represents a single bar in a bar chart. More...
 
class  BarSeries
 Holds a collection of bars which are all styled the same and have a common label. More...
 
class  BinarySearchComparer
 IComparer<T> for various types provided by ScottPlot More...
 
class  Box
 Holds values for drawing a box-and-whisker symbol. More...
 
struct  Color
 
class  Colormap
 
struct  Colors
 
struct  ContextMenuItem
 Represents a single item in a right-click pop-up menu. More...
 
struct  CoordinateLine
 Represents a straight line in coordinate space. More...
 
class  CoordinateRangeMutable
 Represents a range of values between two coordinates on a single axis. More...
 
struct  CoordinateRect
 Describes a rectangle in 2D coordinate space. More...
 
struct  Coordinates
 Represents a point in coordinate space (X and Y axis units) More...
 
struct  Coordinates3d
 Represents a 3d point in coordinate space. More...
 
struct  CoordinateSize
 
class  CountingCollection
 
class  DataOperations
 
struct  DataPoint
 Represents a specific point in a DataSource. More...
 
class  DataSourceUtilities
 
class  Drawing
 Common operations using the default rendering system.
 
class  EdgeExtensions
 
class  ExpandingAxisLimits
 A stateful analog to AxisLimits deisgned to expand to include given data. More...
 
class  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. More...
 
class  Fonts
 Cross-platform tools for working with fonts.
 
class  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. More...
 
struct  FractionRect
 Describes a rectangular region of a larger rectangle using fractional units. More...
 
class  Generate
 This class contains methods which generate sample data for testing and demonstration purposes.
 
class  GenericComparer
 Generic helper used to provide IComparer<T> on supported types.
 
class  GLExtensions
 
class  GridCell
 Represents a single cell in a rectangular grid. More...
 
class  GridStyle
 
interface  IArrowShape
 Contains settings and logic for how to draw an arrow once the base and tip pixels have been determined. More...
 
interface  IAutoScaler
 Contains logic for determining new axis limits when Autoscale() is called. More...
 
interface  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. More...
 
class  IAxesExtensions
 
interface  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. More...
 
class  IAxisExtensions
 
interface  IAxisLimitManager
 An axis manager contains logic to suggest axis limits given the current view and size of the data. More...
 
class  IAxisLimitManagerExtensions
 
interface  IAxisRule
 These rules are applied just before each render. More...
 
interface  IColormap
 
class  IColormapExtensions
 
interface  IDataSource
 Internal interface used for Utility Functions within DataSourceUtilities More...
 
interface  IFinancialTickGenerator
 
interface  IFontResolver
 Provides functionality that converts a requested typeface into a physical font. More...
 
interface  IFunctionSource
 
interface  IGetNearest
 This interface is used by plottables that can locate a within a specified range of a coordinate on the plot. More...
 
interface  IGrid
 Implement this interface to create a custom grid. More...
 
interface  IHasArrow
 
interface  IHasBackground
 
interface  IHasColorAxis
 
interface  IHasFill
 
interface  IHasLabel
 
interface  IHasLegendText
 
interface  IHasLine
 Classes with a LineStyle can implement this to guide addition of standard shortcuts to its most commonly used properties. More...
 
interface  IHasMarker
 
interface  IHasOutline
 
interface  IHasShadow
 
interface  IHatch
 
interface  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. More...
 
interface  ILegendLayout
 
class  Image
 Bitmap representation of an image with helper methods for manipulating the image and enabling IO with other platforms. More...
 
class  ImageFormatExtensions
 
class  ImageFormats
 
class  ImageOperations
 
class  ImageScaleModeExtensions
 
interface  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. More...
 
interface  IMarker
 Describes logic necessary to render a marker at a point. More...
 
interface  IMinorTickGenerator
 
interface  IMultiplot
 
class  IMultiplotExtensions
 
interface  IMultiplotLayout
 
interface  IMultiThreadedPlotControl
 
interface  IOHLCSource
 
interface  IPalette
 
class  IPaletteExtensions
 
interface  IPanel
 A panel is a rectangular region outside the data area of a plot. Example panels include axes, colorbars, and titles. More...
 
class  IPanelExtensions
 
interface  IPathStrategy
 Strategy for generating a path that connects a collection of pixels. More...
 
interface  IPlotControl
 
class  IPlotControlExtensions
 
interface  IPlotMenu
 
interface  IPlottable
 Any object that renders shapes on the canvas using scale information from the axes must implement this interface. More...
 
interface  IPlottableGL
 This interface is applied to plottables which can be rendered directly on the GPU using an OpenGL shader. More...
 
interface  IRenderAction
 
interface  IRenderLast
 
interface  IScatterSource
 Represents a series of data points with distinct X and Y positions in coordinate space. More...
 
interface  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. More...
 
interface  ISignalXYSource
 
interface  IStarAxis
 
interface  ITickGenerator
 
interface  IVectorFieldSource
 
interface  IXAxis
 Horizontal axis. More...
 
interface  IYAxis
 Vertical axis. More...
 
interface  IZoomRectangle
 
class  Label
 
class  LabelStyle
 
class  LabelStyleProperties
 Classes with a LabelStyle can inherit this to include shortcuts to its most commonly used properties. More...
 
struct  Layout
 
class  LayoutManager
 A collection of methods for making common adjustments to plot layouts. More...
 
class  LegendItem
 
struct  LegendLayout
 
class  Line
 
class  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. More...
 
class  Location
 Describes X/Y location in pixel or coordinate space. More...
 
class  MarkerShapeExtensions
 
class  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. More...
 
struct  MeasuredText
 
class  MinMaxCache
 
class  Multiplot
 
class  MultiplotLayoutSnapshot
 
class  MultiplotSharedAxisManager
 
class  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.
 
struct  OHLC
 
class  Palette
 
class  PieSlice
 
struct  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. More...
 
struct  PixelColumn
 This data structure describes a single vertical column of pixels that represents the Y span of an X range of data points. More...
 
struct  PixelLength
 Represents a distance in pixel units. More...
 
struct  PixelLine
 Describes a straight line in pixel space. More...
 
struct  PixelPadding
 Represents the size (in pixels) of padding on all edges of a rectangle. More...
 
struct  PixelRect
 
class  PixelRectExtensions
 
struct  PixelSize
 
class  Platform
 
class  Plot
 
class  PlotStyle
 This object holds many common plot style customizations and facilitates switching between styles or copying styles from one plot to another. More...
 
class  Population
 
class  RadarSeries
 Defines values and styling information for displaying a single shape on a radar chart. More...
 
class  RandomDataGenerator
 
struct  Range
 Represents a range between any two finite values (inclusive) /summary> More...
 
struct  RenderDetails
 Details about a completed render. More...
 
class  SampleData
 Sample data used for testing.
 
class  SampleImages
 
class  SubplotCollection
 Logic that manages a collection of subplots with logic that can perform custom actions when subplots are added or removed. More...
 
class  SvgImage
 
struct  Tick
 
class  TickMarkStyle
 
class  TriangularAxisCornerLabel
 Represents a label at a corner of the triangular plot triangle and includes styling information. More...
 
class  TriangularAxisEdge
 
class  Version
 

Enumerations

enum  Alignment {
  UpperLeft , UpperCenter , UpperRight , MiddleLeft ,
  MiddleCenter , MiddleRight , LowerLeft , LowerCenter ,
  LowerRight
}
 Represents the location of a point relative to a rectangle. UpperLeft means the point is at the top left of the rectangle. More...
 
enum  ArrowAnchor { Center , Tip , Tail }
 
enum  ArrowShape {
  Single , SingleLine , Double , DoubleLine ,
  Arrowhead , ArrowheadLine , Pentagon , Chevron
}
 
enum  ConnectStyle { Straight , StepHorizontal , StepVertical }
 
enum  Edge { Left , Right , Bottom , Top }
 
enum  FontWeight {
  Thin = 100 , ExtraLight = 200 , Light = 300 , Normal = 400 ,
  Medium = 500 , SemiBold = 600 , Bold = 700 , ExtraBold = 800 ,
  Black = 900 , ExtraBlack = 1000
}
 
enum  GradientType { Linear , Radial , Sweep , TwoPointConical }
 Describes the geometry of a color gradient used to fill an area. More...
 
enum  HorizontalAlignment { Left , Center , Right }
 
enum  ImageFormat {
  Bmp , Jpeg , Png , Webp ,
  Svg
}
 
enum  ImagePosition {
  TopLeft , Center , Stretch , Fill ,
  Zoom
}
 Describes how to size and position an image inside a given rectangle. More...
 
enum  LocationUnit { Unspecified , Coordinates , Pixel }
 
enum  MarkerShape {
  None , FilledCircle , OpenCircle , FilledSquare ,
  OpenSquare , FilledTriangleUp , OpenTriangleUp , FilledTriangleDown ,
  OpenTriangleDown , FilledDiamond , OpenDiamond , Eks ,
  Cross , VerticalBar , HorizontalBar , TriUp ,
  TriDown , Asterisk , HashTag
}
 Standard markers supported by ScottPlot. See demo app for information about creating custom marker shapes. More...
 
enum  Orientation { Horizontal , Vertical }
 
enum  RadialGaugeMode { Stacked , Sequential , SingleGauge }
 
enum  VerticalAlignment { Bottom , Middle , Top }
 

Functions

class PlottableAdder (Plot plot)
 Helper methods to create plottable objects and add them to the plot.
 
class CanvasState (SKCanvas canvas)
 This object manages wraps a SKCanvas and manages calls to SkiaSharp methods to ensure state is tracked across complex render systems.
 
record struct ContourLine (CoordinatePath Path, double Z)
 
readonly struct CoordinateOffset (double x, double y)
 
readonly struct CoordinatePath (Coordinates[] points, bool close)
 
readonly struct CoordinateRange (double value1, double value2)
 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.
 
readonly record struct IndexRange (int Min, int Max)
 Represents a range of indexes in an array (inclusive)
 
readonly struct LinePattern (float[] intervals, float phase, string name)
 
class LinkedAxisRule (IAxis sourceAxis, IAxis targetAxis, Plot targetPlot)
 
class MultiAxisLimits (Plot plot)
 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.
 
record struct PixelOffset (float X, float Y)
 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.
 
readonly struct PixelPath (Pixel[] pixels, bool close)
 
struct PixelRangeX (float x1, float x2)
 Represents a range of pixels between two pixels on the horizontal axis. The value of Left will be SMALLER than the value of Right.
 
struct PixelRangeY (float y1, float y2)
 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.
 
struct PolarCoordinates (double radius, Angle angle)
 Represents a point in polar coordinate space.
 
struct RootedCoordinateVector (Coordinates point, Vector2 vector)
 Represents a vector at a point in coordinate space.
 
struct RootedPixelVector (Pixel point, Vector2 vector)
 Represents a vector at a point in pixel space.
 

Enumeration Type Documentation

◆ Alignment

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

Enumerator
UpperLeft 
UpperCenter 
UpperRight 
MiddleLeft 
MiddleCenter 
MiddleRight 
LowerLeft 
LowerCenter 
LowerRight 

◆ ArrowAnchor

Enumerator
Center 
Tip 
Tail 

◆ ArrowShape

Enumerator
Single 
SingleLine 
Double 
DoubleLine 
Arrowhead 
ArrowheadLine 
Pentagon 
Chevron 

◆ ConnectStyle

Enumerator
Straight 

Connect points with straight lines.

StepHorizontal 

Connect points with a line horizontally, then vertically.

StepVertical 

Connect points with a line vertically, then horizontally.

◆ Edge

Enumerator
Left 
Right 
Bottom 
Top 

◆ FontWeight

Enumerator
Thin 
ExtraLight 
Light 
Normal 
Medium 
SemiBold 
Bold 
ExtraBold 
Black 
ExtraBlack 

◆ GradientType

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

Enumerator
Linear 
Radial 
Sweep 
TwoPointConical 

◆ HorizontalAlignment

Enumerator
Left 
Center 
Right 

◆ ImageFormat

Enumerator
Bmp 
Jpeg 
Png 
Webp 
Svg 

◆ ImagePosition

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

Enumerator
TopLeft 

Image placed at the upper-left of the rectangle with no scaling.

Center 

Image placed at the center of the rectangle with no scaling.

Stretch 

Fill image in X and Y to completely fill the area. The aspect ratio may change, appearing to distort the image.

Fill 

Scale the image as large as possible such that it will fit entirely within the rectangle. This may result in whitespace on the edges if the image and rectangle have different aspect ratios.

Zoom 

Scale the image by zooming in so it entirely fills the rectangle. It the aspect ratios are not the same, some of the image may lie outside the rectangle after scaling.

◆ LocationUnit

Enumerator
Unspecified 
Coordinates 
Pixel 

◆ MarkerShape

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

Enumerator
None 
FilledCircle 
OpenCircle 
FilledSquare 
OpenSquare 
FilledTriangleUp 
OpenTriangleUp 
FilledTriangleDown 
OpenTriangleDown 
FilledDiamond 
OpenDiamond 
Eks 
Cross 
VerticalBar 
HorizontalBar 
TriUp 
TriDown 
Asterisk 
HashTag 

◆ Orientation

Enumerator
Horizontal 
Vertical 

◆ RadialGaugeMode

Enumerator
Stacked 

Successive gauges start outward from the center but start at the same angle.

Sequential 

Successive gauges start outward from the center and start at sequential angles.

SingleGauge 

Gauges are all the same distance from the center but start at sequential angles.

◆ VerticalAlignment

Enumerator
Bottom 
Middle 
Top 

Function Documentation

◆ CanvasState()

class ScottPlot.CanvasState ( SKCanvas  canvas)

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

Number of times Save was called without Restore

Save the current state of the canvas. This state can be recalled by calling Restore.

Restore the canvas to the state the last time Save was called. This method will throw if a canvas is restored more times than it was saved. Use the RestoreAll method to restore a canvas to its original state if the number of saves is unknown.

Restore the canvas to its original state, regardless of how many times Save was called.

Restore the canvas to its original state. Disables all clipping and transformations.

Clip the canvas so drawing will only occur within the given rectangle.

◆ ContourLine()

record struct ScottPlot.ContourLine ( CoordinatePath  Path,
double  Z 
)

◆ CoordinateOffset()

readonly struct ScottPlot.CoordinateOffset ( double  x,
double  y 
)

◆ CoordinatePath()

readonly struct ScottPlot.CoordinatePath ( Coordinates[]  points,
bool  close 
)

◆ CoordinateRange()

readonly struct ScottPlot.CoordinateRange ( double  value1,
double  value2 
)

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.

Distance from Value1 to Value2 (may be negative)

Value located in the center of the range, between Value1 and Value2 (may be negative)

Distance from Min to Max (always positive)

Return the present range rectified so Value1 is not greater than Value2

This magic value is used to indicate the range has not been set. It is equal to an inverted infinite range [∞, -∞]

This magic value is used to indicate the range has no defined limits. It is equal to an inverted infinite range [NaN, NaN]

Returns true if the given position is within the range (inclusive)

Indicates whether two ranges have any overlapping values

Return the range of values spanned by the given collection (ignoring NaN)

Return a new range expanded to include the given point

◆ IndexRange()

readonly record struct ScottPlot.IndexRange ( int  Min,
int  Max 
)

Represents a range of indexes in an array (inclusive)

The IndexRange that represents an empty collection

◆ LinePattern()

readonly struct ScottPlot.LinePattern ( float[]  intervals,
float  phase,
string  name 
)

◆ LinkedAxisRule()

class ScottPlot.LinkedAxisRule ( IAxis  sourceAxis,
IAxis  targetAxis,
Plot  targetPlot 
)

◆ MultiAxisLimits()

class ScottPlot.MultiAxisLimits ( Plot  plot)

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.

Set all axis limits to their original ranges

◆ PixelOffset()

record struct ScottPlot.PixelOffset ( float  X,
float  Y 
)

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.

◆ PixelPath()

readonly struct ScottPlot.PixelPath ( Pixel[]  pixels,
bool  close 
)

◆ PixelRangeX()

struct ScottPlot.PixelRangeX ( float  x1,
float  x2 
)

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()

struct ScottPlot.PixelRangeY ( float  y1,
float  y2 
)

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.

◆ PlottableAdder()

class ScottPlot.PlottableAdder ( Plot  plot)

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

Color set used for adding new plottables

Return the next color of the Palette. Colors reset if Plot.PlottableList is cleared.

Fill the vertical range between two Y points for each X point

Fill the vertical range between two Y points for each X point

Fill the vertical range between two Y points for each X point

Fill the vertical range between two Y points for each X point This overload uses a custom function to calculate X, Y1, and Y2 values

Create a bar plot to represent a collection of named ranges

Place a stacked bar chart at a single position

◆ PolarCoordinates()

struct ScottPlot.PolarCoordinates ( double  radius,
Angle  angle 
)

Represents a point in polar coordinate space.

◆ RootedCoordinateVector()

struct ScottPlot.RootedCoordinateVector ( Coordinates  point,
Vector2  vector 
)

Represents a vector at a point in coordinate space.

Angle of the vector in radians

Length of the vector squared in coordinate units

Length of the vector in coordinate units

◆ RootedPixelVector()

struct ScottPlot.RootedPixelVector ( Pixel  point,
Vector2  vector 
)

Represents a vector at a point in pixel space.

Angle of the vector in radians

Length of the vector squared in pixel units

Length of the vector in pixel units