private static void FillDataSeries(HlDataSeries <double, double> dataSeries, DoubleSeries sourceData, double scale) { var random = new Random(42); var xData = sourceData.XData; var yData = sourceData.YData; for (var i = 0; i < sourceData.Count; i++) { dataSeries.Append(xData[i], yData[i] + scale, random.NextDouble() * 0.2, random.NextDouble() * 0.2); } }
protected override void InitExample() { var xAxis = new NumericAxis(Activity); var yAxis = new NumericAxis(Activity); 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 SolidPenStyle(0xFFC6E6FF, 1f.ToDip(Activity)); var errorBars0 = new FastErrorBarsRenderableSeries() { DataSeries = dataSeries0, StrokeStyle = strokeStyle, ErrorDirection = ErrorDirection.Vertical, ErrorType = ErrorType.Absolute }; var lineSeries = new FastLineRenderableSeries { DataSeries = dataSeries0, StrokeStyle = strokeStyle, PointMarker = new EllipsePointMarker() { FillStyle = new SolidBrushStyle(color), Width = 5.ToDip(Activity), Height = 5.ToDip(Activity) } }; var errorBars1 = new FastErrorBarsRenderableSeries() { DataSeries = dataSeries1, StrokeStyle = strokeStyle, ErrorDirection = ErrorDirection.Vertical, ErrorType = ErrorType.Absolute }; var scatterSeries = new XyScatterRenderableSeries() { DataSeries = dataSeries1, PointMarker = new EllipsePointMarker() { FillStyle = new SolidBrushStyle(ColorUtil.Transparent), StrokeStyle = strokeStyle, Width = 7.ToDip(Activity), Height = 7.ToDip(Activity) } }; using (Surface.SuspendUpdates()) { Surface.XAxes.Add(xAxis); Surface.YAxes.Add(yAxis); Surface.RenderableSeries = new RenderableSeriesCollection { errorBars0, lineSeries, errorBars1, scatterSeries }; Surface.ChartModifiers = new ChartModifierCollection { new ZoomPanModifier(), new PinchZoomModifier(), new ZoomExtentsModifier(), }; new ScaleAnimatorBuilder(errorBars0) { Interpolator = new OvershootInterpolator(), Duration = 1000, StartDelay = 600 }.Start(); new ScaleAnimatorBuilder(lineSeries) { Interpolator = new OvershootInterpolator(), Duration = 1000, StartDelay = 600 }.Start(); new ScaleAnimatorBuilder(errorBars1) { Interpolator = new OvershootInterpolator(), Duration = 1000, StartDelay = 600 }.Start(); new ScaleAnimatorBuilder(scatterSeries) { Interpolator = new OvershootInterpolator(), Duration = 1000, StartDelay = 600 }.Start(); } }
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() }; } }