Zooming and panning (XY)
Zooming and panning are configurable and can be performed by left or right mouse button. Zooming can be also performed with mouse wheel. Zooming and panning could be performed on touch screen as well.
Axis class properties
Properties described here applicable all XY and 3D axes, unless specified otherwise.
Axis layout options (XY)
The general properties adjusting axis placement, automatic margins etc. can be found in ViewXY.AxisLayout properties and sub-properties.
LegendBoxXY properties
Starting from v.8, ViewXY supports multiple legend boxes in the same graph. Insert these legend boxes in ViewXY.LegendBoxes collection.
AnnotationXY
Annotations allow displaying mouse-interactive text labels or graphics anywhere in the chart area. Annotations can be moved around by mouse, resized, rotated, their target and location can be changed etc. Alternatively, they can be controlled by code. Annotations are great also when custom graphics must be rendered on the screen, as they can be rendered in different styles and shapes. Create AnnotationXY objects in ViewXY.Annotations collection.
EventMarkers ViewXY
EventMarkers allow marking a point of interest, where something special occurred during real-time monitoring, or if user just wants to mark a piece of data with a special annotation. Define the marker symbol with Symbol property and a text label with Label property.
Data cursors
Starting from version 10.4, ViewXY has a built-in data cursor, which automatically tracks the closest series value to the mouse cursor and shows it in a result table. The cursor consists of horizontal and vertical hair cross lines, tracking point at the location of the closest data value, axis labels showing the current X- and Y-values, and the result table, which besides the axis values also shows the series name and its color.
LineSeriesCursor
Basic features
Solve nearest data point
Solve at X
Line style
LineStyle is property of many line-series (see Line-series comparison).
Advanced line coloring
The line color can be changed based on data values, or on other external logic.
Points style
PointStyle is property of many line-series (see Line-series comparison).
DataBreaking
These series types support data breaking: PointLineSeries, FreeformPointLineSeries, SampleDataSeries, AreaSeries, HighLowSeries, PointLineSeries3D.
ClipAreas
Like DataBreaking, ClipAreas can be used to prevent part of the series data from rendering. They can be used to filter out bad data ranges, out-of-range data by Y value, etc.
StencilAreas
IntensityGridSeries, IntensityMeshSeries and Maps have StencilArea feature which allows masking in or out areas of drawn data. For instance, if data is shown above a map, stencils can be used to limit the visible data to certain map areas, such as countries. StencilArea can be applied by creating a new StencilArea object, then defining its size as PointDouble2D -array via AddPolygon() or as a map layer via AddMapLayerIndex(), and finally adding them to the series that should be masked.
Geographic maps
Use Maps property and its sub-properties to show geographic maps. LightningChart maps come in two different categories: vector maps and tile maps. The maps are shown in so called equirectangular projection.
Data overview or zoom-bar window
Sometimes it is very useful to have a data overview window next to the zoomed-in chart. Such functionality can be done with ZoomBar and LiteZoomBar controls.
Series rendering order in ViewXY
When rendering series of the same type in ViewXY, they are rendered in the same order as they appear in the corresponding collection (series type). For example, from SampleDataBlockSeries list series at 0 index will be rendered first, followed by series at index 1 etc. Different types of series are rendered in a predefined order in LightningChart. That can be manipulated by changing the XAxis index the particular series is assigned to, because all series assigned to the first XAxis are rendered first (followed by all series assigned to the second XAxis).
Limit Y-value to stack segment
Every XY series has LimitYToStackSegment property. When enabled, the series will be clipped outside the segment and the Y-axis area it belongs to. In most cases the property is a boolean to control whether the data should be clipped or not. However, some newer series (SampleDataBlockSeries, LiteLineSeries and LiteFreeformLineSeries) have additional options. There LimitYToStackSegment is of enumerated type with option: None (no clipping), Clip (line will be clipped as for old series) and ClampToSegment (if line exceeds segment’s edge, it will be rendered horizontally on the edge). Note that for LiteFreeformLineSeries, a line with ClampToSegment enabled will be rendered along the edge as far as the real point X-value would be. Therefore, it may be longer than other series clamping line.
Automatic Y fit
Use AutoYFit property to control the automatic Y axis adjustment. Automatic Y fit can be used to adjust the Y axis ranges to show all the data in the chart in visible X axis range. It is intended especially for real-time monitoring purposes. The fit is applied in time intervals, use UpdateInterval to set the interval in milliseconds. MarginPercents can be used to define if any empty space should be left between the series and the graph borders. By enabling Through, the fitting analysis is made for all data, but may cause some overhead in performance critical systems. By disabling it, only a small piece of latest data is used for fitting routine and may cause improper behavior in certain applications.
AutoPadding
From version 12.5 ViewXY has AutoPadding property. This is the padding in PXs for control's edges, i.e. the outer edge or rim of the chart, which encloses ViewXY Margins. AutoPadding can be used when Margins are auto-adjusted (AxisLayout. AutoAdjustMargins is enabled). Chart objects like Annotations and LegendBoxes can be placed in the padded area.
Polynomial regression
Only PointLineSeries has properties/feature to do regression fitting for data points. Regression fitting, utilizing RegressionFitting and RegressionPolyOrder properties of PointLineSeries. When RegressionFitting is set other than None option, line replaced with fitted curve (see image below).
PersistentSeriesRenderingLayer
PersistentSeriesRenderingLayer can be used for extremely fast rendering of repetitive line/points data, or line/points/high-low/area fill data that is plotted in same X and Y range over and over again.
PersistentSeriesRenderingIntensityLayer
PersistentSeriesRenderingIntensityLayer allows collecting traces into a layer and coloring it by the hit count per pixel. The coloring is made by using a value-range palette. The traces can be used with the same series types as in PersistentSeriesRenderingLayer (that is, all belong to PointLineSeriesBase class) They are very much similar to it, main difference being the coloring. When rendering a trace in a location of a pixel again with second rendering call, the intensity of it grows, increasing its value in the value-range palette.