Skip to main content

LightningChart ViewXY features

A wide range of topics concerning ViewXY, but do not include Series.

📄️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.

📄️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.

📄️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.