コード例 #1
0
        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;
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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;
        }
コード例 #4
0
        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());
            }
        }
コード例 #5
0
        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();
        }