void AddModifiers() { var xAxisDragmodifier = new SCIXAxisDragModifier(); xAxisDragmodifier.DragMode = SCIAxisDragMode.Pan; xAxisDragmodifier.ClipModeX = SCIClipMode.None; var yAxisDragmodifier = new SCIYAxisDragModifier(); yAxisDragmodifier.DragMode = SCIAxisDragMode.Pan; var extendZoomModifier = new SCIZoomExtentsModifier(); var pinchZoomModifier = new SCIPinchZoomModifier(); // Adding Rollover and Legend modifiers var rolloverModifier = new SCIRolloverModifier(); var legendCollectionModifier = new SCILegendModifier(); var groupModifier = new SCIChartModifierCollection(); groupModifier.Add(xAxisDragmodifier); groupModifier.Add(yAxisDragmodifier); groupModifier.Add(pinchZoomModifier); groupModifier.Add(extendZoomModifier); groupModifier.Add(rolloverModifier); groupModifier.Add(legendCollectionModifier); _surface.ChartModifiers = groupModifier; }
protected override void InitExample() { var xAxis = new SCINumericAxis(); var yAxis = new SCINumericAxis(); var ds1 = new XyDataSeries <double, double> { SeriesName = "Curve A" }; var ds2 = new XyDataSeries <double, double> { SeriesName = "Curve B" }; var ds3 = new XyDataSeries <double, double> { SeriesName = "Curve C" }; var ds4 = new XyDataSeries <double, double> { SeriesName = "Curve D" }; var ds1Points = DataManager.Instance.GetStraightLine(4000, 1.0, 10); var ds2Points = DataManager.Instance.GetStraightLine(3000, 1.0, 10); var ds3Points = DataManager.Instance.GetStraightLine(2000, 1.0, 10); var ds4Points = DataManager.Instance.GetStraightLine(1000, 1.0, 10); ds1.Append(ds1Points.XData, ds1Points.YData); ds2.Append(ds2Points.XData, ds2Points.YData); ds3.Append(ds3Points.XData, ds3Points.YData); ds4.Append(ds4Points.XData, ds4Points.YData); var legendModifier = new SCILegendModifier { SourceMode = SCISourceMode.AllSeries }; using (Surface.SuspendUpdates()) { Surface.XAxes.Add(xAxis); Surface.YAxes.Add(yAxis); Surface.RenderableSeries = new SCIRenderableSeriesCollection { new SCIFastLineRenderableSeries { DataSeries = ds1, StrokeStyle = new SCISolidPenStyle(0xFFFFFF00, 2f) }, new SCIFastLineRenderableSeries { DataSeries = ds2, StrokeStyle = new SCISolidPenStyle(0xFF279B27, 2f) }, new SCIFastLineRenderableSeries { DataSeries = ds3, StrokeStyle = new SCISolidPenStyle(0xFFFF1919, 2f) }, new SCIFastLineRenderableSeries { DataSeries = ds4, IsVisible = false, StrokeStyle = new SCISolidPenStyle(0xFF1964FF, 2f) } }; Surface.ChartModifiers.Add(legendModifier); } }
void AddModifiers() { var xDragModifierSync = new SCIMultiSurfaceModifier(GetClassForType(typeof(SCIXAxisDragModifier))); var pinchZoomModifierSync = new SCIMultiSurfaceModifier(GetClassForType(typeof(SCIPinchZoomModifier))); var panZoomModifierSync = new SCIMultiSurfaceModifier(GetClassForType(typeof(SCIZoomPanModifier))); // retreiving XAxisDragModifier for customization var xAxisDragmodifier = ObjCRuntime.Runtime.GetNSObject <SCIXAxisDragModifier>(xDragModifierSync.ModifierForSurface(_surfaceTop).Handle); if (xAxisDragmodifier != null) { xAxisDragmodifier.DragMode = SCIAxisDragMode.Pan; xAxisDragmodifier.ClipModeX = SCIClipMode.None; } var legendCollectionModifier = new SCILegendModifier(); var groupModifier = new SCIChartModifierCollection(); groupModifier.Add(xDragModifierSync); groupModifier.Add(pinchZoomModifierSync); groupModifier.Add(legendCollectionModifier); _surfaceTop.ChartModifiers = groupModifier; var xAxisDragmodifierBottom = ObjCRuntime.Runtime.GetNSObject <SCIXAxisDragModifier>(xDragModifierSync.ModifierForSurface(_surfaceBottom).Handle); if (xAxisDragmodifierBottom != null) { xAxisDragmodifierBottom.DragMode = SCIAxisDragMode.Pan; xAxisDragmodifierBottom.ClipModeX = SCIClipMode.None; } var pinchZoomModifierBottom = pinchZoomModifierSync.ModifierForSurface(_surfaceBottom); var groupModifierBottom = new SCIChartModifierCollection(); if (xAxisDragmodifierBottom != null) { groupModifierBottom.Add(xDragModifierSync); } if (pinchZoomModifierBottom != null) { groupModifierBottom.Add(pinchZoomModifierSync); } _surfaceBottom.ChartModifiers = groupModifierBottom; }
protected override void InitExample() { var xAxis = new SCINumericAxis { AutoTicks = false, MajorDelta = new SCIGenericType(1), MinorDelta = new SCIGenericType(0.5), LabelProvider = new YearsLabelProvider(), Style = { DrawMajorBands = true } }; var yAxis = new SCINumericAxis { AutoRange = SCIAutoRange.Always, AxisTitle = "billions of People", GrowBy = new SCIDoubleRange(0, 0.1), Style = { DrawMajorBands = true } }; var china = new[] { 1.269, 1.330, 1.356, 1.304 }; var india = new[] { 1.004, 1.173, 1.236, 1.656 }; var usa = new[] { 0.282, 0.310, 0.319, 0.439 }; var indonesia = new[] { 0.214, 0.243, 0.254, 0.313 }; var brazil = new[] { 0.176, 0.201, 0.203, 0.261 }; var pakistan = new[] { 0.146, 0.184, 0.196, 0.276 }; var nigeria = new[] { 0.123, 0.152, 0.177, 0.264 }; var bangladesh = new[] { 0.130, 0.156, 0.166, 0.234 }; var russia = new[] { 0.147, 0.139, 0.142, 0.109 }; var japan = new[] { 0.126, 0.127, 0.127, 0.094 }; var restOfTheWorld = new[] { 2.466, 2.829, 3.005, 4.306 }; var chinaDataSeries = new XyDataSeries <double, double> { SeriesName = "China" }; var indiaDataSeries = new XyDataSeries <double, double> { SeriesName = "India" }; var usaDataSeries = new XyDataSeries <double, double> { SeriesName = "USA" }; var indonesiaDataSeries = new XyDataSeries <double, double> { SeriesName = "Indonesia" }; var brazilDataSeries = new XyDataSeries <double, double> { SeriesName = "Brazil" }; var pakistanDataSeries = new XyDataSeries <double, double> { SeriesName = "Pakistan" }; var nigeriaDataSeries = new XyDataSeries <double, double> { SeriesName = "Nigeria" }; var bangladeshDataSeries = new XyDataSeries <double, double> { SeriesName = "Bangladesh" }; var russiaDataSeries = new XyDataSeries <double, double> { SeriesName = "Russia" }; var japanDataSeries = new XyDataSeries <double, double> { SeriesName = "Japan" }; var restOfTheWorldDataSeries = new XyDataSeries <double, double> { SeriesName = "Rest Of The World" }; var totalDataSeries = new XyDataSeries <double, double> { SeriesName = "Total" }; for (var i = 0; i < 4; i++) { double xValue = i; chinaDataSeries.Append(xValue, china[i]); if (i != 2) { indiaDataSeries.Append(xValue, india[i]); usaDataSeries.Append(xValue, usa[i]); indonesiaDataSeries.Append(xValue, indonesia[i]); brazilDataSeries.Append(xValue, brazil[i]); } else { indiaDataSeries.Append(xValue, double.NaN); usaDataSeries.Append(xValue, double.NaN); indonesiaDataSeries.Append(xValue, double.NaN); brazilDataSeries.Append(xValue, double.NaN); } pakistanDataSeries.Append(xValue, pakistan[i]); nigeriaDataSeries.Append(xValue, nigeria[i]); bangladeshDataSeries.Append(xValue, bangladesh[i]); russiaDataSeries.Append(xValue, russia[i]); japanDataSeries.Append(xValue, japan[i]); restOfTheWorldDataSeries.Append(xValue, restOfTheWorld[i]); totalDataSeries.Append(xValue, china[i] + india[i] + usa[i] + indonesia[i] + brazil[i] + pakistan[i] + nigeria[i] + bangladesh[i] + russia[i] + japan[i] + restOfTheWorld[i]); } var columnsCollection = new SCIHorizontallyStackedColumnsCollection(); columnsCollection.Add(GetRenderableSeries(chinaDataSeries, 0xff3399ff, 0xff2D68BC)); columnsCollection.Add(GetRenderableSeries(indiaDataSeries, 0xff014358, 0xff013547)); columnsCollection.Add(GetRenderableSeries(usaDataSeries, 0xff1f8a71, 0xff1B5D46)); columnsCollection.Add(GetRenderableSeries(indonesiaDataSeries, 0xffbdd63b, 0xff7E952B)); columnsCollection.Add(GetRenderableSeries(brazilDataSeries, 0xffffe00b, 0xffAA8F0B)); columnsCollection.Add(GetRenderableSeries(pakistanDataSeries, 0xfff27421, 0xffA95419)); columnsCollection.Add(GetRenderableSeries(nigeriaDataSeries, 0xffbb0000, 0xff840000)); columnsCollection.Add(GetRenderableSeries(bangladeshDataSeries, 0xff550033, 0xff370018)); columnsCollection.Add(GetRenderableSeries(russiaDataSeries, 0xff339933, 0xff2D732D)); columnsCollection.Add(GetRenderableSeries(japanDataSeries, 0xff00aba9, 0xff006C6A)); columnsCollection.Add(GetRenderableSeries(restOfTheWorldDataSeries, 0xff560068, 0xff3D0049)); var animation = new SCIWaveRenderableSeriesAnimation(3, SCIAnimationCurve.EaseOut); animation.StartAfterDelay(0.3f); columnsCollection.AddAnimation(animation); var legendModifier = new SCILegendModifier { ShowCheckBoxes = false }; using (Surface.SuspendUpdates()) { Surface.XAxes.Add(xAxis); Surface.YAxes.Add(yAxis); Surface.RenderableSeries.Add(columnsCollection); Surface.ChartModifiers.Add(legendModifier); Surface.ChartModifiers.Add(new SCITooltipModifier()); } }
protected override void InitExampleInternal() { Surface = new SCIChartSurface(_exampleViewLayout.SciChartSurfaceView); StyleHelper.SetSurfaceDefaultStyle(Surface); var xAxis = new SCINumericAxis { IsXAxis = true }; var yAxis = new SCINumericAxis(); var ds1 = new XyDataSeries <double, double> { SeriesName = "Curve A" }; var ds2 = new XyDataSeries <double, double> { SeriesName = "Curve B" }; var ds3 = new XyDataSeries <double, double> { SeriesName = "Curve C" }; var ds4 = new XyDataSeries <double, double> { SeriesName = "Curve D" }; var ds1Points = DataManager.Instance.GetStraightLine(4000, 1.0, 10); var ds2Points = DataManager.Instance.GetStraightLine(3000, 1.0, 10); var ds3Points = DataManager.Instance.GetStraightLine(2000, 1.0, 10); var ds4Points = DataManager.Instance.GetStraightLine(1000, 1.0, 10); ds1.Append(ds1Points.XData, ds1Points.YData); ds2.Append(ds2Points.XData, ds2Points.YData); ds3.Append(ds3Points.XData, ds3Points.YData); ds4.Append(ds4Points.XData, ds4Points.YData); Surface.AttachAxis(xAxis, true); Surface.AttachAxis(yAxis, false); Surface.AttachRenderableSeries(new SCIFastLineRenderableSeries { DataSeries = ds1, Style = { LinePen = new SCIPenSolid(UIColor.FromRGB(0xFF, 0xFF, 0x00), 2f) } }); Surface.AttachRenderableSeries(new SCIFastLineRenderableSeries { DataSeries = ds2, Style = { LinePen = new SCIPenSolid(UIColor.FromRGB(0x27, 0x9B, 0x27), 2f) } }); Surface.AttachRenderableSeries(new SCIFastLineRenderableSeries { DataSeries = ds3, Style = { LinePen = new SCIPenSolid(UIColor.FromRGB(0xFF, 0x19, 0x19), 2f) } }); Surface.AttachRenderableSeries(new SCIFastLineRenderableSeries { DataSeries = ds4, IsVisible = false, Style = { LinePen = new SCIPenSolid(UIColor.FromRGB(0x19, 0x64, 0xFF), 2f) } }); var legendModifier = new SCILegendModifier { GetLegendDataFor = SCISourceMode.All }; Surface.ChartModifier = new SCIModifierGroup(new ISCIChartModifierProtocol[] { legendModifier }); Surface.InvalidateElement(); }