protected override void InitExample() { var xAxis = new SCINumericAxis { AutoRange = SCIAutoRange.Always }; var leftAxis = new SCINumericAxis { AxisAlignment = SCIAxisAlignment.Left, AxisId = SCIAxisAlignment.Left.ToString() }; var rightAxis = new SCINumericAxis { AxisAlignment = SCIAxisAlignment.Right, AxisId = SCIAxisAlignment.Right.ToString() }; var initialColor = UIColor.Blue; var selectedStrokeStyle = new SCISolidPenStyle(ColorUtil.White, 4f); var selectedPointMarker = new SCIEllipsePointMarker { Width = 10, Height = 10, FillStyle = new SCISolidBrushStyle(0xFFFF00DC), StrokeStyle = new SCISolidPenStyle(ColorUtil.White, 1f) }; using (Surface.SuspendUpdates()) { Surface.XAxes.Add(xAxis); Surface.YAxes.Add(leftAxis); Surface.YAxes.Add(rightAxis); for (var i = 0; i < SeriesCount; i++) { var alignment = i % 2 == 0 ? SCIAxisAlignment.Left : SCIAxisAlignment.Right; var dataSeries = GenerateDataSeries(alignment, i); var rs = new SCIFastLineRenderableSeries { DataSeries = dataSeries, YAxisId = alignment.ToString(), StrokeStyle = new SCISolidPenStyle(initialColor, 2f), SelectedSeriesStyle = new SCILineSeriesStyle { StrokeStyle = selectedStrokeStyle, PointMarker = selectedPointMarker, } }; var animation = new SCISweepRenderableSeriesAnimation(3, SCIAnimationCurve.EaseOut); animation.StartAfterDelay(0.3f); rs.AddAnimation(animation); // Colors are incremented for visual purposes only var newR = initialColor.R() == 255 ? 255 : initialColor.R() + 5; var newB = initialColor.B() == 0 ? 0 : initialColor.B() - 2; initialColor = UIColor.FromRGB((byte)newR, initialColor.G(), (byte)newB); Surface.RenderableSeries.Add(rs); } Surface.ChartModifiers.Add(new SCISeriesSelectionModifier()); } }
protected override void InitExample() { var xAxis = new SCINumericAxis(); var yAxis = new SCINumericAxis(); var fourierSeries = DataManager.Instance.GetFourierSeries(1.0, 0.1, 5.0, 5.15); var dataSeries0 = new HlDataSeries <double, double>(); var dataSeries1 = new HlDataSeries <double, double>(); FillDataSeries(dataSeries0, fourierSeries, 1.0); FillDataSeries(dataSeries1, fourierSeries, 1.3); const uint color = 0xFFC6E6FF; var strokeStyle = new SCISolidPenStyle(0xFFC6E6FF.ToColor(), 1f); var errorBars0 = new SCIFastErrorBarsRenderableSeries { DataSeries = dataSeries0, StrokeStyle = strokeStyle, ErrorDirection = SCIErrorBarDirection.Vertical, ErrorType = SCIErrorBarType.Absolute }; errorBars0.AddAnimation(new SCIScaleRenderableSeriesAnimation(3, SCIAnimationCurve.EaseOutElastic)); var lineSeries = new SCIFastLineRenderableSeries { DataSeries = dataSeries0, StrokeStyle = strokeStyle, PointMarker = new SCIEllipsePointMarker { FillStyle = new SCISolidBrushStyle(color), Width = 5, Height = 5 } }; lineSeries.AddAnimation(new SCIScaleRenderableSeriesAnimation(3, SCIAnimationCurve.EaseOutElastic)); var errorBars1 = new SCIFastErrorBarsRenderableSeries { DataSeries = dataSeries1, StrokeStyle = strokeStyle, DataPointWidth = 0.7f, ErrorDirection = SCIErrorBarDirection.Vertical, ErrorType = SCIErrorBarType.Absolute }; errorBars1.AddAnimation(new SCIScaleRenderableSeriesAnimation(3, SCIAnimationCurve.EaseOutElastic)); var scatterSeries = new SCIXyScatterRenderableSeries { DataSeries = dataSeries1, PointMarker = new SCIEllipsePointMarker { FillStyle = new SCISolidBrushStyle(ColorUtil.Transparent), StrokeStyle = strokeStyle, Width = 7, Height = 7 } }; scatterSeries.AddAnimation(new SCIScaleRenderableSeriesAnimation(3, SCIAnimationCurve.EaseOutElastic)); using (Surface.SuspendUpdates()) { Surface.XAxes.Add(xAxis); Surface.YAxes.Add(yAxis); Surface.RenderableSeries = new SCIRenderableSeriesCollection { errorBars0, lineSeries, errorBars1, scatterSeries }; Surface.ChartModifiers = new SCIChartModifierCollection { new SCIZoomPanModifier(), new SCIPinchZoomModifier(), new SCIZoomExtentsModifier() }; } }