Click or drag to resize
NChart3D_UWP Namespace
NChart3D is a flexible library to visualize various data.
To get the quick start with it please refer to the tutorial.

The main features the library provides are the following:
Classes
  ClassDescription
Public classNChart
The NChart class provides a container for the chart.
Public classNChartAreaSeries
The NChartAreaSeries class provides methods to display area series.
Public classNChartAreaSeriesSettings
The NChartAreaSeriesSettings class provides global settings for NChartAreaSeries.
Public classNChartAutoScrollLabel
The NChartAutoScrollLabel provides methods to control the label that is shown whenever auto scroll mode of chart is toggled.
Public classNChartAxesPlane
The NChartAxesPlane class provides methods to display the axes plane for the cartesian system.
Public classNChartAxisGrid
The NChartAxisGrid class provides storage for grid lines associated with the particular chart's axis.
Public classNChartAxisGridLines
The NChartAxisGridLine class provides methods to control particular grid lines of the chart's axis.
Public classNChartAxisPositionCoord
The NChartAxisPositionCoord class provides methods to control the position of the chart axis.
Each Cartesian system axis has properties for X, Y and Z coordinates, but for every particular axis only two of them are meaningful. For example, for the X-Axis only Y and Z take effect, for Y-Axis only X and Z and so on. Each coordinate is associated with particular direction: X-coordinate is tied to the horizontal direction, Y to the vertical and Z to the depth. According to ValueType, Value and HostsOnSAxis of the coordinate, actual position in the corresponding direction is determined.
For example, to place Y-Axis so, that it intersects X-Axis in the value 10, use the following code:
m_view.Chart.CartesianSystem.YAxis.PositionX.Value = 10.0;

If you need Y-Axis to intersect SX-Axis in the value 10 instead, add the following:
m_view.Chart.CartesianSystem.YAxis.PositionX.HostsOnSAxis = true;

The next code line added to the previous settings will make Y-Axis to intersect SX-Axis in its maximal value:
m_view.Chart.CartesianSystem.YAxis.PositionX.ValueType = NChartAxisPositionCoordValue.Maximum;
Public classNChartAxisTick
The NChartAxisTick class provides methods to manage ticks on the axes.
Public classNChartBandSeries
The NChartBandSeries class provides methods to display band series. This series type is for 2D only.
Public classNChartBandSeriesSettings
The NChartBandSeriesSettings class provides global settings for NChartBandSeries.
Public classNChartBarSeries
The NChartBarSeries class provides methods to display bar series.
Public classNChartBarSeriesSettings
The NChartBarSeriesSettings class provides global settings for NChartBarSeries.
Public classNChartBezierInterpolator
The NChartBezierInterpolator class provides bezier interpolator. If it is used, the animated values will changed in time as follows: v(t) = (1 - t)^2 * v_from + 2 * t * (1 - t) * v_c + t^2 * v_from, where v_from, v_to are respectively the start and end values, v_c is control point and t is the time.
Public classNChartBrushInternal
Special class for internal use only.
Public classNChartBrushScale
The NChartBrushScale class provides scale that transforms values into brushes like a step mapping function. The scale contains array of reference values and array of brushes. It returns brush for given value according to these arrays:
brushs[n]
  values[n - 1]
...
brushs[4]
  values[3]
brushs[3]
  values[2]
brushs[2]
  values[1]
brushs[1]
  values[0]
brushs[0]
This is equivalent to the following pseudo code:
if value <= values[0] return brushes[0];
if value > values[i] and value <= values[i + 1] return brush[i + 1];
if value > values[last] return brush[last]
So the array of brushes should contain n elements and array of values should contain n - 1. Values should be sorted (NChartBrushScale does not sort them automatically). If they are not, it can lead to strange results. If brush index goes out of range, null is returned.
Public classNChartBubbleSeries
The NChartBubbleSeries class provides methods to display bubble series.
Public classNChartBubbleSeriesSettings
The NChartBubbleSeriesSettings class provides global settings for NChartBubbleSeries.
Public classNChartCallout
The NChartCallout class provides methods to display tooltips as callouts.
Public classNChartCandlestickSeries
The NChartCandlestickSeries class provides methods to display candlestick series.
Public classNChartCandlestickSeriesSettings
The NChartCandlestickSeriesSettings class provides global settings for NChartCandlestickSeries.
Public classNChartCaption
The NChartCaption class provides methods to display caption of the chart.
Public classNChartCartesianSystem
The NChartCartesianSystem class provides methods for managing the chart's cartesian coordinate system.
Public classNChartColumnSeries
The NChartColumnSeries class provides methods to display column series.
Public classNChartColumnSeriesSettings
NChartColumnSeriesSettings class provides global settings for NChartColumnSeries.
Public classNChartCrosshair
The NChartCrosshair class provides methods to control crosshairs - lines that are perpendicular to the axes and are to mark some position on the chart. Single chart can have multiple crosshairs either connected to the chart points or free (with user defined coordinates).
Public classNChartDataSmootherInternal
Special class for internal use only.
Public classNChartDataSmootherLagrange
The NChartDataSmootherLagrange class provides data smoother based on Lagrange polynoms used to create smooth lines on the charts by only a few points. Typically this smoother is used for line and area series. This smoother ensures the best smoothing in comparison with NChartDataSmootherTBezier and NChartDataSmootherSBezier, but has large deviation from the linear data interpolation (even larger than NChartDataSmooterSpline) and can produce large fake extremums. It may be good for some, but generally it's recommended to use NChartDataSmootherTBezier instead.
Public classNChartDataSmootherSBezier
The NChartDataSmootherSBezier class provides data smoother based on bezier interpolation (with control points calculated to ensure defect 1 spline) used to create smooth lines on the charts by only a few points. Typically this smoother is used for line and area series. This smoother ensures better smoothing in comparison with NChartDataSmootherTBezier, but has larger deviation from the linear data interpolation and can produce fake extremums.However, the deviation of the fake extremums is smaller in comparison with NChartDataSmootherSpline and NChartDataSmootherLagrange.
Public classNChartDataSmootherSpline
The NChartDataSmootherSpline class provides data smoother based on cubic defect 1 splines used to create smooth lines on the charts by only a few points.Typically this smoother is used for line and area series. This smoother ensures the best smoothing in comparison with NChartDataSmootherTBezier and NChartDataSmootherSBezier, but has large deviation from the linear data interpolation and can produce large fake extremums.
Public classNChartDataSmootherTBezier
The NChartDataSmootherTBezier class provides data smoother based on bezier interpolation (with control points calculated according to tangents to the curve being smoothed) used to create smooth lines on the charts by only a few points. Typically this smoother is used for line and area series. This smoother ensures minimal deviation from the linear data interpolation(in comparison with NChartDataSmootherSpline, NChartDataSmootherLagrange and NChartDataSmootherSBezier) and guarantees the absence of fake extremums.
Public classNChartFont
NChartFont is container for font characteristics
Public classNChartFunnelSeries
The NChartFunnelSeries class provides methods to display funnel series. This chart type has some specialties: - All axes are ignored, so it is reasonable to hide the axes by displaying funnel chart. - Only the first point from each series, all other points are ignored. - Only Y-value from the point is used, all the other values are ignored.
Public classNChartFunnelSeriesSettings
The NChartFunnelSeriesSettings class provides global settings for NChartFunnelSeries.
Public classNChartGradientStop
The NChartGradientStop class provides a control point of the gradient defining some color and it's position on the area being filled with a gradient. The gradient is constructed from multiple gradient-stops.
Public classNChartHair
The NChartHair class provides methods to control the single line within crosshair.
Public classNChartHeatmapSeries
The NChartHeatmapSeries class provides methods to display heatmap series.
Public classNChartHeatmapSeriesSettings
The NChartHeatmapSeriesSettings class provides global settings for NChartHitmapSeries.
Public classNChartLabel
The NChartLabel class provides methods to display text on the chart.
Public classNChartLabelInternal
Special class for internal use only.
Public classNChartLegend
The NChartLegend class provides methods to display the legend of the chart.
Public classNChartLinearGradientBrush
The NChartLinearGradientBrush class provides a brush that fills the area with a linear gradient.
Public classNChartLinearInterpolator
The NChartLinearInterpolator class provides linear interpolator. If it is used, the animated values will changed in time as follows: v(t) = (1 - t) * v_from + t * v_to, where v_from, v_to are respectively the start and end values, t is the time.
Public classNChartLineDash
The NChartLineDash class provides methods to set up the dash pattern for lines drawn on the chart.
Public classNChartLineSeries
The NChartLineSeries class provides methods to display line series.
Public classNChartLineSeriesSettings
The NChartLineSeriesSettings class provides global settings for NChartLineSeries.
Public classNChartMarginHelper
NChartMarginHelper is helper class used for create NChartMargin.
Public classNChartMarker
The NChartMarker class provides methods to display markers in the points of the chart.
Public classNChartModel
The NChartModel provides the container for the 3D model that can be loaded from file and then be displayed as a marker (see NChartMarker for details). PLY (http://en.wikipedia.org/wiki/PLY_(file_format)) with triangles and geometry of 3DS (http://en.wikipedia.org/wiki/.3ds) are supported.
Public classNChartOHLCSeries
The NChartOHLCSeries class provides methods to display OHLC series.
Public classNChartOHLCSeriesSettings
The NChartOHLCSeries class provides global settings for NChartOHLCSeries.
Public classNChartOLSTrendDetector
The NChartOLSTrendDetector class provides methods to create linear trend based on ordinary least squares (OLS).
Public classNChartPeakDetector
The NChartPeakDetector class provides methods to detect peak values inside the given point array. The detection is based on the deviation from moving average.
Public classNChartPieSeries
The NChartPieSeries class provides methods to display pie series.
Public classNChartPieSeriesSettings
The NChartPieSeriesSettings class provides global settings for NChartPieSeries.
Public classNChartPoint
The NChartPoint class provides methods to manage chart's points.
Public classNChartPointState
The NChartPointState class provides methods to store state of a point. The state of a point is a complex of parameters such as position brush used etc. for a particular period for a particular point. Each chart point should have at least one state representing the data from the data source for this point but it can have multiple states. This allows the animation of a chart through time while each NChartPointState represents the state of the point in a particular time tick. The transition from one state to another is animated automatically by linear interpolation of parameters stored in the states.
Public classNChartPolarSystem
The NChartPolarSystem class provides methods for managing the chart's polar coordinate system.
Public classNChartRadarSeries
The NChartRadarSeries class provides methods to display radar series. This series type is for 2D only.
Public classNChartRadarSeriesSettings
The NChartRadarSeriesSettings class provides global settings for NChartRadarSeries.
Public classNChartRawBitmap
NChartRawBitmap contains native bitmap for NChart3D engine.
Public classNChartRibbonSeries
The NChartRibbonSeries class provides methods to display ribbon series. This series type is for 3D only.
Public classNChartRibbonSeriesSettings
The NChartRibbonSeriesSettings class provides global settings for NChartRibbonSeries.
Public classNChartScaleLegend
The NChartScaleLegend class provides methods to display the legend associated with the NChartBrushScale instance.
Public classNChartSequenceSeries
The NChartSequenceSeries class provides methods to display sequence series. This series type is for 2D only.
Public classNChartSequenceSeriesSettings
The NChartSequenceSeriesSettings class provides global settings for NChartSequenceSeries.
Public classNChartSeriesInternal
Special class for internal use only.
Public classNChartSeriesSettingsInternal
Special class for internal use only.
Public classNChartSizeAxis
The NChartSizeAxis class provides methods to scale the sizes of NChartMarker objects. The idea is to map the value of marker's size that is assumed to be in (MinValue maxValue) to the (MinSize MaxSize). For example if a particular marker has size 0.3555 MinValue = 0 MaxValue = 1 MinSize = 10 (pixels) and MaxSize = 100 (pixels) the actual size of the marker on the screen will be 42 pixels.
Public classNChartSolidColorBrush
The NChartSolidColorBrush class provides the brush that fills the area with a solid color.
Public classNChartStepSeries
The NChartStepSeries class provides methods to display step series.
Public classNChartStepSeriesSettings
The NChartStepSeriesSettings class provides global settings for NChartStepSeries.
Public classNChartSurfaceSeries
The NChartSurfaceSeries class provides methods to display surface series.
Public classNChartSurfaceSeriesSettings
The NChartSurfaceSeriesSettings class provides global settings for NChartSurfaceSeries.
Public classNChartTextureBrush
The NChartTextureBrush class provides the brush that fills the area with a texture (aka image).
Public classNChartTimeAxis
The NChartTimeAxis class provides methods to display the time axis of the chart.
Public classNChartTimeAxisTooltip
The NChartTimeAxisTooltip class provides methods to display the tooltip over the handler of the time axis.
Public classNChartTooltip
The NChartTooltip class provides methods to display the tooltip for the chart's points.
Public classNChartTouchAreaSeries
The NChartTouchAreaSeries class provides methods to display fullscreen billboard with touch areas.
Public classNChartTouchAreaSeriesSettings
The NChartTouchAreaSeriesSettings class provides global settings for NChartTouchAreaSeries.
Public classNChartValueAxis
The NChartValueAxis class provides methods to display the value axis of the chart.
Public classNChartValueAxisMark
The NChartValueAxisMark class provides methods to handle marks on the value axes.
Public classNChartVectorHelper
NChartVectorHelper is helper class used for create NChartVector3.
Public classNChartView
The NChartView class provides a view to display the chart. This view can be added anywhere to view the hierarchy of the app.
Structures
  StructureDescription
Public structureNChartMargin
The NChartMargin struct stores the spacing of chart's elements.
Public structureNChartVector3
The NChartVector struct stores 3-dimentional coordinates.
Interfaces
  InterfaceDescription
Public interfaceINChartAreaSeries
The INChartAreaSeries interface provides methods to display area series.
Public interfaceINChartAxis
The INChartAxis interface provides common methods for axes on the chart.
Public interfaceINChartBrush
The INChartBrush interface provides common methods of the brush that can be used to fill some areas.
Public interfaceINChartColumnSeriesSettings
INChartColumnSeriesSettings interface provides global settings for INChartColumnSeries.
Public interfaceINChartCoordSystem
The INChartCoordSystem interface provides basic methods for managing the chart's coordinate system.
Public interfaceINChartCrosshairDelegate
The INChartCrosshairDelegate interface provides methods to handle crosshair movements.
Public interfaceINChartDataSmoother
The INChartDataSmoother interface provides basic data smoother used to create smooth charts by only a few points.
Public interfaceINChartDelegate
The INChartDelegate interface provides methods to reflect changes which have appeared in the chart.
Public interfaceINChartGradientBrush
The INChartGradientBrush interface provides common methods for the brush that fills an area with some gradient.
Public interfaceINChartInterpolator
The INChartInterpolator interface provides base class for different interpolators that can be used to control animations.
Public interfaceINChartLabel
The INChartLabel interface provides methods to display text on the chart.
Public interfaceINChartLegend
The INChartLegend interface provides methods to display the legend of the chart.
Public interfaceINChartLegendDelegate
The INChartLegendDelegate interface provides methods to obtain legend interactions.
Public interfaceINChartLineSeries
The INChartLineSerie interface provides methods to display line series.
Public interfaceINChartLineSeriesSettings
The INChartLineSeriesSettings interface provides global settings for INChartLineSeries.
Public interfaceINChartObject
The INChartObject interface provides common methods for all the objects on the chart.
Public interfaceINChartPlaced
The INChartPlaced interfac provides basic methods for objects displaying some textual information on the screen.
Public interfaceINChartPointAnalyzer
The INChartPointAnalyzer provides basic methods to scan the given array of chart points and perform some analytics.
Public interfaceINChartScaleLegendDelegate
The INChartScaleLegendDelegate interface provides methods to manage the contents of the scale legend.
Public interfaceINChartSeries
The INChartSeries interface provides common methods for the series of the chart.
Public interfaceINChartSeriesDataSource
The NChartSeriesDataSource interface provides methods to obtain data for the series.
Public interfaceINChartSeriesSettings
The INChartSeriesSettings interface provides basic container for settings that are to be applied for all the series of particular type that are added to the chart. For different types of series there are different classes of containers that are inherited from NChartSeriesSettings. You can add the settings to the chart via AddSeriesSettings method of NChart. The settings are applied to the series while UpdateData call of NChart.
Public interfaceINChartSizeAxisDataSource
The INChartSizeAxisDataSource interface provides methods to control data on the size axis.
Public interfaceINChartSolidSeries
The INChartSolidSeries interface provides common methods to display series that are filled with some brush and have a border.
Public interfaceINChartSolidSeriesSettings
The INChartSolidSeriesSettings interface provides common settings for NChartSolidSeries.
Public interfaceINChartTimeAxisDataSource
The INChartTimeAxisDataSource interface provides methods to control data displayed on the time axis.
Public interfaceINChartTooltip
The INChartTooltip interface provides methods to display the tooltip for the chart's points.
Public interfaceINChartValueAxisDataSource
The INChartValueAxisDataSource interface provides methods to control data displayed on value axis.
Public interfaceINChartValueAxisDelegate
The INChartValueAxisDelegate interface provides methods to handle user interactions with value axis.
Enumerations
  EnumerationDescription
Public enumerationNChartAnimationType
The NChartAnimationType enum provides constants to indicate different animations of the chart objects.
Public enumerationNChartAutoZoomAxes
The NChartAutoZoomAxes enum provides constants to determine which axes should be zoomed automatically.
Public enumerationNChartAxisLabelsAlignment
The NChartAxisLabelsAlignment enum provides constants to align labels relative to the axes' thicks.
Public enumerationNChartAxisPositionCoordValue
The NChartAxisPositionCoordValue enum provides constants to determine which value should be used to calculate the position coordinate of the particular axis.
Public enumerationNChartAxisTickType
The NChartAxisTickType enum provides constants to determine the ticks' layout on the axes.
Public enumerationNChartCalloutLineToLabelConnectionPos
The NChartCalloutLineToLabelConnectionPos enum provides constants to determine the position where the line connects to the label in the callout.
Public enumerationNChartCalloutLineType
The NChartCalloutLineType enum provides constants to determine the appearance of the callout line.
Public enumerationNChartCaptionBlockAlignment
The NChartCaptionBlockAlignment enum provides constants to control position of the caption's block.
Public enumerationNChartColumnAnimationType
The NChartColumnAnimationType enum provides constants to control transition animation of column series.
Public enumerationNChartCrosshairTooltipPosition
The NChartCrosshairTooltipPosition enum provides constants to control position of crosshair's tooltips.
Public enumerationNChartEventPhase
The NChartEventState enum provides constants to indicate different phases of chart events.
Public enumerationNChartHighlightType
The NChartHighlightType enum provides constants to highligh points. You may use them to build a bitmask of highlight. This means you may specify NChartHighlightTypeColor | NChartHighlightTypeShift to get highlight by color and highlight by shift at the same time.
Public enumerationNChartLegendBlockAlignment
The NChartLegendBlockAlignment enum provides constants for different predefined positions of the legend on the screen.
Public enumerationNChartLegendContentAlignment
The NChartLegendContentAlignment enum provides constants to align the legend's content in the legend area.
Public enumerationNChartLegendOrientation
The NChartLegendOrientation enum provides constants for different legend docking modes.
Public enumerationNChartLineAnimationType
The NChartLineAnimationType enum provides constants to control transition animation of line series.
Public enumerationNChartLineBreakMode
The LineBreakMode enum provides constants to indicate behavior when a line is too long for its container.
Public enumerationNChartMarkerShape
The NChartMarkerShape enum provides constants for markers' shapes.
Public enumerationNChartRawBitmapFormat
NChartRawBitmapFormat enum provides constants for different NChartRawBitmap formats.
Public enumerationNChartSeriesSettingsTypes
The NChartSeriesSettingsTypes enum provides constants to identify series settings.
Public enumerationNChartShadingModel
The NChartShadingModel provides constants for shading models used on 3D-models that are painted with this brush.
Public enumerationNChartTexturePosition
The NChartTexturePosition enum provides constants that control position of texture.
Public enumerationNChartTimeAxisLabelsLayout
The NChartTimeAxisLabelsLayout enum provides constants to control the label's layout on the time axis.
Public enumerationNChartTimeAxisLabelsPosition
The NChartTimeAxisLabelsPosition enum provides constants to the control label's positions on the time axis.
Public enumerationNChartTimeAxisTickShape
NChartTimeAxisTickShape
Public enumerationNChartTooltipArrowOrientation
The NChartTooltipArrowOrientation enum provides constants to control direction of tooltip's arrow.
Public enumerationNChartTooltipVerticalAlignment
The NChartTooltipVerticalAlignment enum provides constants for vertical alignment of the tooltip.
Public enumerationNChartUserInteraction
The NChartUserInteraction enum provides constants to control available user intercation. You can use them to build the mask of intercations availability by concatenating the needed ones with bitwise OR.
Public enumerationNChartValue
The NChartValue enum provides constants to indicate values from the point states.
Public enumerationNChartValueAxesType
The NChartValueAxesType enum provides constants of value axes types.
Public enumerationNChartValueAxisKind
The NChartValueAxisKind enum provides constants to indicate the value axes.
Public enumerationNChartZoomMode
The NChartZoomMode enum provides constants for different zoom modes.