### Initialize Real-Time Ghost Traces Visualization in Android Source: https://context7.com/abtsoftware/scichart.android.examples/llms.txt Initializes the SciChart surface with numerical axes and multiple line series. Each series is assigned a stroke style with decreasing opacity to create a ghost effect. The `initExample` method sets up the axes and renders the series. ```java import com.scichart.drawing.ColorUtil; import com.scichart.examples.R; import com.scichart.examples.databinding.ExampleRealTimeGhostTracesFragmentBinding; import com.scichart.extensions.builders.SciChartBuilder; import com.scichart.extensions.math.NumberUtil; import com.scichart.extensions.managers.DataManager; import com.scichart.extensions.view.SciChartSurface; import com.scichart.core.data.DoubleRange; import com.scichart.core.data.XyDataSeries; import com.scichart.core.model.DoubleSeries; import com.scichart.core.model.RenderableSeriesCollection; import com.scichart.core.utility.UpdateSuspender; import com.scichart.drawing.Style.PaintStyle; import com.scichart.charting.model.dataSeries.XyDataSeries; import com.scichart.charting.visuals.SciChartSurface; import com.scichart.charting.visuals.axes.NumericAxis; import com.scichart.charting.model.renderableSeries.FastLineRenderableSeries; import com.scichart.charting.model.renderableSeries.IRenderableSeries; import com.scichart.charting.visuals.renderableSeries.metadata.RenderableSeriesMetadata; import java.util.Collections; import java.util.Random; // ... other imports protected void initExample(ExampleRealTimeGhostTracesFragmentBinding binding) { binding.surface.setTheme(R.style.SciChart_NavyBlue); // Create axes with auto-ranging final NumericAxis xAxis = sciChartBuilder.newNumericAxis() .withAutoRangeMode(AutoRange.Always) .build(); final NumericAxis yAxis = sciChartBuilder.newNumericAxis() .withGrowBy(new DoubleRange(0.1d, 0.1d)) .withAutoRangeMode(AutoRange.Never) .withVisibleRange(new DoubleRange(-2d, 2d)) .build(); final SciChartSurface surface = binding.surface; Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); // Create 10 series with decreasing opacity for ghost effect final int seriesColor = 0xFF68bcae; Collections.addAll(surface.getRenderableSeries(), sciChartBuilder.newLineSeries().withStrokeStyle(seriesColor).build(), sciChartBuilder.newLineSeries().withStrokeStyle(ColorUtil.argb(seriesColor, 0.9f)).build(), sciChartBuilder.newLineSeries().withStrokeStyle(ColorUtil.argb(seriesColor, 0.8f)).build(), sciChartBuilder.newLineSeries().withStrokeStyle(ColorUtil.argb(seriesColor, 0.7f)).build(), sciChartBuilder.newLineSeries().withStrokeStyle(ColorUtil.argb(seriesColor, 0.62f)).build(), sciChartBuilder.newLineSeries().withStrokeStyle(ColorUtil.argb(seriesColor, 0.55f)).build(), sciChartBuilder.newLineSeries().withStrokeStyle(ColorUtil.argb(seriesColor, 0.45f)).build(), sciChartBuilder.newLineSeries().withStrokeStyle(ColorUtil.argb(seriesColor, 0.35f)).build(), sciChartBuilder.newLineSeries().withStrokeStyle(ColorUtil.argb(seriesColor, 0.25f)).build(), sciChartBuilder.newLineSeries().withStrokeStyle(ColorUtil.argb(seriesColor, 0.15f)).build() ); } ``` -------------------------------- ### Create Basic Line Chart with SciChart Android Source: https://context7.com/abtsoftware/scichart.android.examples/llms.txt Demonstrates the creation of a 2D line chart using SciChart.Android's builder pattern and data series. It includes setting up axes, generating sample data, styling the line series, and applying animations. Dependencies include SciChart's core libraries and Android UI components. ```java final IAxis xAxis = sciChartBuilder.newNumericAxis() .withGrowBy(0.1d, 0.1d) .withVisibleRange(1.1, 2.7) .build(); final IAxis yAxis = sciChartBuilder.newNumericAxis() .withGrowBy(0.1d, 0.1d) .build(); final DoubleSeries fourierSeries = DataManager.getInstance() .getFourierSeries(1.0, 0.1, 5000); final IXyDataSeries dataSeries = sciChartBuilder .newXyDataSeries(Double.class, Double.class) .build(); dataSeries.append(fourierSeries.xValues, fourierSeries.yValues); final FastLineRenderableSeries rSeries = sciChartBuilder.newLineSeries() .withDataSeries(dataSeries) .withStrokeStyle(0xFFAE418D, 1f, true) .build(); UpdateSuspender.using(surface, () -> { Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), rSeries); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); sciChartBuilder.newAnimator(rSeries) .withSweepTransformation() .withDuration(1000) .withStartDelay(300) .start(); }); ``` -------------------------------- ### Apply Themes and Custom Series Styles in Java Source: https://context7.com/abtsoftware/scichart.android.examples/llms.txt Applies built-in SciChart themes and demonstrates custom styling for renderable series like lines, mountains, and candlesticks. Also shows axis customization for text formatting, titles, and grid lines. Requires SciChart Android library. ```java import android.view.Gravity; import com.scichart.drawing.common.SolidBrushStyle; import com.scichart.drawing.common.StrokeStyle; import com.scichart.drawing.common.TextFormatting; import com.scichart.rendering.common.IRenderableSeries; import com.scichart.rendering.common.SciChartSurface; import com.scichart.rendering.data.IRenderableSeriesCollection; import com.scichart.rendering.data.ISciChartSurface; import com.scichart.rendering.data.RenderableSeriesCollection; import com.scichart.charting.model.dataSeries.IDataSeries; import com.scichart.charting.model.dataSeries.XyDataSeries; import com.scichart.charting.modifiers.ChartModifierBase; import com.scichart.charting.modifiers.PinchZoomModifier; import com.scichart.charting.modifiers.RolloverModifier; import com.scichart.charting.modifiers.ZoomExtentsModifier; import com.scichart.charting.model.RenderableSeriesCollection; import com.scichart.charting.model.SciChartSurface; import com.scichart.charting.model.dataSeries.XyDataSeries; import com.scichart.charting.model.axes.IAxis; import com.scichart.charting.model.axes.NumericAxis; import com.scichart.charting.model.axes.AxisAlignment; import com.scichart.charting.model.axes.AxisAlignment; import com.scichart.charting.model.axes.AxisAlignment; import com.scichart.charting.modifiers.IRenderableSeriesCollection; import com.scichart.charting.modifiers.PinchZoomModifier; import com.scichart.charting.modifiers.RolloverModifier; import com.scichart.charting.modifiers.ZoomExtentsModifier; import com.scichart.charting.modifiers.ZoomPanModifier; import com.scichart.charting.visuals.axes.AxisTitle; import com.scichart.charting.visuals.axes.AxisTitleGravity; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes.AxisAlignment; import com.scichart.charting.visuals.axes. ``` -------------------------------- ### Add Flip Axes Coords Chart Modifier Source: https://context7.com/abtsoftware/scichart.android.examples/llms.txt This example demonstrates how to add a flip axes coordinates modifier to a SciChart surface. It includes attaching the modifier and creating a widget, typically an image button. Clicking the widget allows the user to flip the X-axis of the chart. ```java SideMenuHelper.attachModifierToSurface( FlipAxesCoordsChartModifier.class, surface); final Widget flipXWidget = new ImageViewWidget.Builder() .setId(R.drawable.example_toolbar_flip_x) .setListener(v -> ((FlipAxesCoordsChartModifier) SideMenuHelper.getModifier(FlipAxesCoordsChartModifier.class, surface.getChartModifiers())).flipXAxes()) .build(); ``` -------------------------------- ### Implement Zoom Extents Button Modifier Source: https://context7.com/abtsoftware/scichart.android.examples/llms.txt This example shows how to attach a zoom extents button modifier to a SciChart surface. When the button is clicked, it animates the chart to fit all data within the visible area. It also demonstrates creating a widget for the button, often from drawable resources. ```java final Widget zoomExtentsWidget = attachModifierAndCreateWidget( null, R.drawable.example_toolbar_zoom_extents, surface, v -> surface.animateZoomExtents( ZoomExtentsModifier.DEFAULT_ANIMATION_DURATION)); ``` -------------------------------- ### Add Text, Image, Line, Box, and Shape Annotations in Android Source: https://context7.com/abtsoftware/scichart.android.examples/llms.txt This Java code snippet demonstrates how to add multiple types of annotations to a SciChartSurface in Android. It includes text, image, line arrow, box, horizontal line, and vertical line annotations. Dependencies include SciChart libraries and Android UI components. ```java import com.scichart.charting.model.AnnotationCoordinateMode; import com.scichart.charting.model.AnnotationSurfaceEnum; import com.scichart.charting.model.LabelPlacement; import com.scichart.charting.modifiers.ChartModifierBase; import com.scichart.charting.visuals.SciChartSurface; import com.scichart.charting.visuals.annotations.*; import com.scichart.charting.visuals.axes.IAxis; import com.scichart.charting.visuals.axes.NumericAxis; import com.scichart.charting.visuals.exceptions.SciChartException; import com.scichart.charting.visuals.pointmarkers.EllipsePointMarker; import com.scichart.charting.visuals.rendering.RenderableSeriesCollection; import com.scichart.charting.visuals.rendering.request.XyDataSeries; import com.scichart.core.common.DateInterval; import com.scichart.core.data.DoubleArray; import com.scichart.core.data. GeophysicalData; import com.scichart.core.data. GeophysicalData.WaveType; import com.scichart.core.utility.Range; import com.scichart.drawing.common.GradientPaint; import com.scichart.drawing.common.IPen; import com.scichart.drawing.common.ISymbol; import com.scichart.drawing.common.TextAlignment; import com.scichart.drawing.utility.ColorUtil; import com.scichart.extensions.builders.SciChartBuilder; import android.graphics.Typeface; import android.view.Gravity; import android.widget.ImageView; import androidx.annotation.NonNull; import java.util.Collections; public class AnnotationsAreEasyFragment extends ExampleFragment { @Override protected void initExample(@NonNull SciChartSurface surface) { surface.setTheme(R.style.SciChart_NavyBlue); UpdateSuspender.using(surface, () -> { final IAxis xAxis = sciChartBuilder.newNumericAxis() .withVisibleRange(0d, 10d) .withGrowBy(0.1d, 0.1d) .build(); final IAxis yAxis = sciChartBuilder.newNumericAxis() .withVisibleRange(0d, 10d) .withGrowBy(0.1d, 0.1d) .build(); Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getAnnotations(), // Watermark annotation in center sciChartBuilder.newTextAnnotation() .withX1(0.5) .withY1(0.5) .withFontStyle(Typeface.DEFAULT_BOLD, 42, 0x22FFFFFF) .withCoordinateMode(AnnotationCoordinateMode.Relative) .withHorizontalAnchorPoint(HorizontalAnchorPoint.Center) .withVerticalAnchorPoint(VerticalAnchorPoint.Center) .withText("Create \n Watermarks") .build(), // Image annotation sciChartBuilder.newImageAnnotation() .withImage(R.drawable.image_annotation_bird) .withContentMode(ImageView.ScaleType.FIT_START) .withAnnotationSurface(AnnotationSurfaceEnum.BelowChart) .withPosition(0d, 0d, 7d, 4d) .build(), // Line with arrow annotation sciChartBuilder.newLineArrowAnnotation() .withPosition(1.2d, 3.8d, 2.5d, 6d) .withStroke(2f, 0xFF68bcae) .withArrowHeadLength(4) .withArrowHeadWidth(8) .build(), // Box annotation with background sciChartBuilder.newBoxAnnotation() .withPosition(3.5d, 4d, 5d, 5d) .withBackgroundDrawableId(R.drawable.example_box_annotation_background_1) .build(), // Horizontal line with label sciChartBuilder.newHorizontalLineAnnotation() .withPosition(5d, 3.2d) .withHorizontalGravity(Gravity.RIGHT) .withStroke(2, 0xFF47bde6) .withAnnotationLabel(LabelPlacement.TopLeft, "Right Aligned") .build(), // Vertical line annotation sciChartBuilder.newVerticalLineAnnotation() .withPosition(9d, 4d) .withVerticalGravity(Gravity.BOTTOM) .withStroke(2, 0xFFae418d) .withAnnotationLabel() .build() ); surface.getChartModifiers().add( sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); }); } } ``` -------------------------------- ### Add Custom Rotate Chart Modifier for 3D Charts Source: https://context7.com/abtsoftware/scichart.android.examples/llms.txt This snippet illustrates how to add a custom rotate chart modifier for 3D charts in SciChart. It utilizes helper methods to attach the modifier and create an associated widget. Tapping the widget triggers the rotation functionality of the modifier. ```java SideMenuHelper.attachModifierToSurface( CustomRotateChartModifier.class, surface); final Widget rotateWidget = new ImageViewWidget.Builder() .setId(R.drawable.example_toolbar_rotate) .setListener(v -> ((CustomRotateChartModifier) SideMenuHelper.getModifier(CustomRotateChartModifier.class, surface.getChartModifiers())).rotateChart()) .build(); ``` -------------------------------- ### Generate Mathematical Data Series with DataManager Source: https://context7.com/abtsoftware/scichart.android.examples/llms.txt The DataManager singleton generates common mathematical series such as Fourier series, damped sine waves, noisy sine waves, and Lissajous curves. It also provides utilities for loading price data from CSV and waveform data from assets, as well as generating Gaussian random numbers and computing moving averages. These functions return data in formats like DoubleSeries, PriceSeries, List, or double[]. ```java final DoubleSeries fourierSeries = DataManager.getInstance() .getFourierSeries(amplitude, phaseShift, pointCount); final DoubleSeries dampedSine = DataManager.getInstance() .getDampedSinewave(amplitude, dampingFactor, pointCount, frequency); final DoubleSeries noisySine = DataManager.getInstance() .getNoisySinewave(amplitude, phase, pointCount, noiseAmplitude); final DoubleSeries lissajous = DataManager.getInstance() .getLissajousCurve(alpha, beta, delta, pointCount); final PriceSeries priceData = DataManager.getInstance() .getPriceDataIndu(context); final double randomValue = DataManager.getInstance() .getGaussianRandomNumber(mean, stdDeviation); final List movingAvg = DataManager.getInstance() .computeMovingAverage(prices, windowLength); final double[] waveform = DataManager.getInstance() .loadWaveformData(context); ``` -------------------------------- ### Create 3D Bubble Chart - Java Source: https://context7.com/abtsoftware/scichart.android.examples/llms.txt This Java code snippet demonstrates the creation of a 3D bubble chart using SciChart for Android. It involves initializing 3D axes, generating random XYZ data points, and assigning unique colors and sizes to each point using a `PointMetadataProvider3D`. Finally, it configures a `ScatterRenderableSeries3D` with a `SpherePointMarker3D` and adds it to the `SciChartSurface3D` along with default modifiers. ```java import com.scichart.charting3d.data.DataManager; import com.scichart.charting3d.data.PointMetadata3D; import com.scichart.charting3d.data.PointMetadataProvider3D; import com.scichart.charting3d.data.XyzDataSeries3D; import com.scichart.charting3d.model.dataSeries.XyzDataSeries3D; import com.scichart.charting3d.modifiers.ModifierGroup3D; import com.scichart.charting3d.renderableSeries.ScatterRenderableSeries3D; import com.scichart.charting3d.renderableSeries.metadata.PointMetadataProvider3D; import com.scichart.charting3d.surface.SciChartSurface3D; import com.scichart.charting3d.visibilities.VisibilityManager3D; import com.scichart.charting3d.visuals.axes.NumericAxis3D; import com.scichart.charting3d.visuals.pointmarkers.SpherePointMarker3D; import com.scichart.core.common.Float3; import com.scichart.core.framework.ISciChart3DBuilder; import com.scichart.drawing.utility.ColorUtil; import com.scichart.drawing.utility.IBrush; import com.scichart.persistence.UpdateSuspender; import java.util.Collections; import java.util.List; import androidx.annotation.NonNull; public class Bubble3DChartFragment { protected void initExample(@NonNull SciChartSurface3D surface3d) { final DataManager dataManager = DataManager.getInstance(); // Create 3D axes final NumericAxis3D xAxis = sciChart3DBuilder.newNumericAxis3D() .withGrowBy(0.1, 0.1) .build(); final NumericAxis3D yAxis = sciChart3DBuilder.newNumericAxis3D() .withGrowBy(0.1, 0.1) .build(); final NumericAxis3D zAxis = sciChart3DBuilder.newNumericAxis3D() .withGrowBy(0.1, 0.1) .build(); // Create XYZ data series for 3D points final XyzDataSeries3D xyzDataSeries3D = new XyzDataSeries3D<>(Double.class, Double.class, Double.class); final PointMetadataProvider3D metadataProvider = new PointMetadataProvider3D(); // Generate 250 random points with custom colors and sizes final List metadata = metadataProvider.metadata; for (int i = 0; i < 250; i++) { final double x = dataManager.getGaussianRandomNumber(5, 1.5); final double y = dataManager.getGaussianRandomNumber(5, 1.5); final double z = dataManager.getGaussianRandomNumber(5, 1.5); xyzDataSeries3D.append(x, y, z); // Each point gets random color and scale metadata.add(new PointMetadata3D( dataManager.getRandomColor(), dataManager.getRandomScale())); } // Create sphere point marker final SpherePointMarker3D pointMarker = sciChart3DBuilder .newSpherePointMarker3D() .withFill(ColorUtil.LimeGreen) .withSize(2f) .build(); // Create 3D scatter series final ScatterRenderableSeries3D rs = sciChart3DBuilder.newScatterSeries3D() .withDataSeries(xyzDataSeries3D) .withPointMarker(pointMarker) .withMetadataProvider(metadataProvider) .build(); UpdateSuspender.using(surface3d, () -> { surface3d.setXAxis(xAxis); surface3d.setYAxis(yAxis); surface3d.setZAxis(zAxis); surface3d.getRenderableSeries().add(rs); surface3d.getChartModifiers().add( sciChart3DBuilder.newModifierGroupWithDefaultModifiers().build()); }); } } ```