The Mountain (Area) Series Type
Mountain (Area) Series can be created using the FastMountainRenderableSeries type.
Note
Examples of the Mountain Series can be found in the SciChart Android Examples Suite as well as on GitHub:
The FastMountainRenderableSeries class allows to specify Stroke pen and Area brush. Those values can be assigned through the corresponding properties - strokeStyle and areaStyle accordingly.
Note
To learn more about Pens and Brushes and how to utilize them, please refer to the PenStyle, BrushStyle and FontStyle article.
It is possible to define the ZeroLineY baseline position for a Mountain Series via the zeroLineY property. All data points that have Y value less than ZeroLineY will appear downward, else - upward.
Note
In multi axis scenarios, a series has to be assigned to a particular X and Y axes. This can be done by passing the axes IDs to the xAxisId, yAxisId properties.
Digital (Step) Mountain Series
In addition to the above, FastMountainRenderableSeries can be configured to draw as Digital (Step) Mountain. It is achieved via the isDigitalLine property.
Create a Mountain Series
To create a Mountain Series, use the following code:
@Override
protected void initExample(@NonNull SciChartSurface surface) {
final IXyDataSeries<Double, Double> xyDataSeries = new XyDataSeries<>(Double.class, Double.class);
xyDataSeries.append(0.0, 0.0);
xyDataSeries.append(1.0, 1.0);
xyDataSeries.append(2.0, 4.0);
final FastMountainRenderableSeries mountainSeries = new FastMountainRenderableSeries();
mountainSeries.setDataSeries(xyDataSeries);
mountainSeries.setAreaStyle(new SolidBrushStyle(Color.CYAN));
mountainSeries.setStrokeStyle(new SolidPenStyle(Color.RED, true, 1f, null));
UpdateSuspender.using(surface, () -> {
Collections.addAll(surface.getXAxes(), new NumericAxis(requireContext()));
Collections.addAll(surface.getYAxes(), new NumericAxis(requireContext()));
Collections.addAll(surface.getRenderableSeries(), mountainSeries);
});
}
Mountain Series Features
Mountain Series also has some features similar to other series, such as:
Render a Gap in a Mountain Series
It's possible to render a Gap in Mountain series, by passing a data point with a NaN
as the Y value. Please refer to the RenderableSeries APIs article for more details. The FastMountainRenderableSeries, itself, allows to specify how a gap would appear. You can treat NAN
values as a gap or a close the line. That appearance is defined by the drawNaNAs property (Please see LineDrawMode enumeration).
Add Point Markers onto a Mountain Series
Every data point of a Mountain Series can be marked with a IPointMarker. To add Point Markers to a Mountain Series use the pointMarker property. For more information and code examples, please refer to the PointMarkers API article.
Paint Area Parts with Different Colors
In SciChart, you can draw Area Parts of the Mountain Series with different colors using the PaletteProvider API. To Use palette provider for Mountain Area - a custom IFillPaletteProvider (or IStrokePaletteProvider) has to be provided to the paletteProvider property. Please refer to the PaletteProvider API article for more info.