Пример #1
0
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity)
            {
                GrowBy = new DoubleRange(0.1, 0.1), VisibleRange = new DoubleRange(1.1, 2.7)
            };
            var yAxis = new NumericAxis(Activity)
            {
                GrowBy = new DoubleRange(0.1, 0.1)
            };

            var fourierSeries = DataManager.Instance.GetFourierSeries(1.0, 0.1);
            var dataSeries    = new XyDataSeries <double, double>();

            dataSeries.Append(fourierSeries.XData, fourierSeries.YData);

            var renderableSeries = new FastLineRenderableSeries {
                DataSeries = dataSeries, StrokeStyle = new SolidPenStyle(0xFF279B27, 2f.ToDip(Activity))
            };

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(renderableSeries);
                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new ZoomPanModifier(),
                    new PinchZoomModifier(),
                    new ZoomExtentsModifier(),
                };
            }
        }
Пример #2
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our chart from the layout resource,
            var chart = FindViewById <SciChartSurface>(Resource.Id.Chart);

            // Create a numeric X axis
            var xAxis = new NumericAxis(this)
            {
                AxisTitle = "Number of Samples (per Series)"
            };

            // Create a numeric Y axis
            var yAxis = new NumericAxis(this)
            {
                AxisTitle    = "Value",
                VisibleRange = new DoubleRange(-1, 1)
            };

            // Add xAxis to the XAxes collection of the chart
            chart.XAxes.Add(xAxis);

            // Add yAxis to the YAxes collection of the chart
            chart.YAxes.Add(yAxis);
        }
        protected override void InitializeChart()
        {
            this.Chart            = new Chart();
            this.Chart.Title.Text = "Product Sales in 2014";

            Series series = this.CreateSeries();

            series.Title = "Crosslight";
            series.Items = this.DataManager.GetProductSalesDataBasedOnCategoryAndYear("Crosslight", 2014);
            this.Chart.Series.Add(series);

            series       = this.CreateSeries();
            series.Title = "Client UI";
            series.Items = this.DataManager.GetProductSalesDataBasedOnCategoryAndYear("ClientUI", 2014);
            this.Chart.Series.Add(series);

            series       = this.CreateSeries();
            series.Title = "WebGrid";
            series.Items = this.DataManager.GetProductSalesDataBasedOnCategoryAndYear("WebGrid", 2014);
            this.Chart.Series.Add(series);

            NumericAxis  independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>();
            DateTimeAxis dependentAxis   = Axis.CreateDefaultDependentAxis <DateTimeAxis>();

            this.Chart.IndependentAxis = independentAxis;
            this.Chart.DependentAxis   = dependentAxis;
        }
        protected override void InitializeChart()
        {
            base.InitializeChart();

            NumericAxis independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>
                                              (o =>
            {
                o.GridLinesColor = Colors.Green;
                o.IsTickVisible  = true;
                o.IsLineVisible  = true;
                o.TickColor      = Colors.Blue;
                o.Title.Text     = "Count";
                o.Title.Margin   = new Thickness(0, 0, 10, 0);
                o.Title.Font     = new Font("Helvetica Neue,16;Roboto,16");
                o.Font           = new Font("Helvetica Neue,12,Bold,#FF0000;Roboto,12,Bold,#FF0000");
            });
            CategoryAxis dependentAxis = Axis.CreateDefaultDependentAxis <CategoryAxis>
                                             (o =>
            {
                o.IsGridLinesVisible = true;
                o.IsTickVisible      = true;
                o.GridLinesColor     = Colors.Blue;
                o.IsTickVisible      = true;
                o.TickColor          = Colors.Green;
                o.Title.Text         = "Category";
                o.Title.Margin       = new Thickness(0, 10, 0, 0);
                o.Title.Font         = new Font("Helvetica Neue,16;Roboto,16");
                o.Font = new Font("Helvetica Neue,12,Italic,#0000FF;Roboto,12,Italic,#0000FF");
            });

            this.Chart.IndependentAxis = independentAxis;
            this.Chart.DependentAxis   = dependentAxis;
        }
Пример #5
0
        protected override void InitExample()
        {
            View.FindViewById <Button>(Resource.Id.start).Click += (sender, args) => Start();
            View.FindViewById <Button>(Resource.Id.pause).Click += (sender, args) => Pause();
            View.FindViewById <Button>(Resource.Id.reset).Click += (sender, args) => Reset();

            using (Surface.SuspendUpdates())
            {
                var xAxis = new NumericAxis(Activity)
                {
                    VisibleRange = _xVisibleRange, AutoRange = AutoRange.Never
                };
                var yAxis = new NumericAxis(Activity)
                {
                    GrowBy = new DoubleRange(0.1, 0.1), AutoRange = AutoRange.Always
                };

                var rs = new AnimatingLineRenderableSeries()
                {
                    DataSeries  = _dataSeries,
                    StrokeStyle = new PenStyle.Builder(Activity).WithColor(Color.Argb(0xFF, 0x40, 0x83, 0xB7)).WithAntiAliasing(true).WithThickness(3).Build()
                };

                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(rs);
            }

            Start();
        }
        private void ChangeGridLinesStyle()
        {
            if (this.GridLinesStyle == GridLinesStyles.Dotted)
            {
                this.GridLinesStyle = GridLinesStyles.Dash;
                this.ToastPresenter.Show("Dash", ToastDisplayDuration.Short);
            }
            else if (this.GridLinesStyle == GridLinesStyles.Dash)
            {
                this.GridLinesStyle = GridLinesStyles.Solid;
                this.ToastPresenter.Show("Solid", ToastDisplayDuration.Short);
            }
            else
            {
                this.GridLinesStyle = GridLinesStyles.Dotted;
                this.ToastPresenter.Show("Dotted", ToastDisplayDuration.Short);
            }

            NumericAxis independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>
                                              (o =>
            {
                o.GridLinesStyle = this.GridLinesStyle;
            });

            this.Chart.IndependentAxis = independentAxis;
            this.Chart.Refresh();
        }
Пример #7
0
        protected override void InitializeChart()
        {
            this.Chart            = new Chart();
            this.Chart.Title.Text = "Olympic Medals Distribution";

            Series series = new TSeriesType();

            series.Title = "Gold Medal";
            series.Items = this.DataManager.GetOlympicMedalDistributionDataBasedOnMedalType("Gold");
            this.Chart.Series.Add(series);

            series       = new TSeriesType2();
            series.Title = "Expected Gold Medal";
            series.Items = this.DataManager.GetExpectedOlympicMedalDistributionDataBasedOnMedalType("Gold");
            this.Chart.Series.Add(series);

            series       = new TSeriesType();
            series.Title = "Silver Medal";
            series.Items = this.DataManager.GetOlympicMedalDistributionDataBasedOnMedalType("Silver");
            this.Chart.Series.Add(series);

            series       = new TSeriesType2();
            series.Title = "Expected Silver Medal";
            series.Items = this.DataManager.GetExpectedOlympicMedalDistributionDataBasedOnMedalType("Silver");
            this.Chart.Series.Add(series);

            NumericAxis  independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>(o => { o.Title.Text = "Count"; });
            CategoryAxis dependentAxis   = Axis.CreateDefaultDependentAxis <CategoryAxis>(o => { o.Title.Text = "Country"; });

            this.Chart.IndependentAxis = independentAxis;
            this.Chart.DependentAxis   = dependentAxis;
        }
        protected override void InitializeChart()
        {
            this.Chart            = new Chart();
            this.Chart.Title.Text = "Agile Sprint Status";

            Series series = this.CreateSeries();

            series.Title = "In Progress";
            series.Items = this.DataManager.GetAgileDataBasedOnStatus("InProgress");
            this.Chart.Series.Add(series);

            if (typeof(TSeriesType) != typeof(DoughnutSeries) && typeof(TSeriesType) != typeof(PieSeries))
            {
                if (!(this is AreaFillStyleViewModel))
                {
                    series       = this.CreateSeries();
                    series.Title = "Resolved";
                    series.Items = this.DataManager.GetAgileDataBasedOnStatus("Resolved");
                    this.Chart.Series.Add(series);
                }
            }

            NumericAxis  independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>();
            CategoryAxis dependentAxis   = Axis.CreateDefaultDependentAxis <CategoryAxis>();

            this.Chart.IndependentAxis = independentAxis;
            this.Chart.DependentAxis   = dependentAxis;
        }
Пример #9
0
        private void createGraph()
        {
            boxFace.Text = TestChart.RenderSurface.GetType().Name.ToString();
            _yAxis       = new NumericAxis()
            {
                AxisTitle = "values"
            };
            _yAxis.VisibleRange = new DoubleRange(0, 125);
            _xAxis = new DateTimeAxis()
            {
                AxisTitle = "time"
            };
            _xAxis.VisibleRange = new DateRange(DateTime.Now, DateTime.Now.AddHours(6));

            TestChart.XAxis = _xAxis;
            TestChart.YAxis = _yAxis;

            // Specify Interactivity Modifiers
            TestChart.ChartModifier = new ModifierGroup(new RubberBandXyZoomModifier(), new ZoomExtentsModifier());

            TestChart.DataContext = _dataHandler;
            ScrollingViewportManager scroll = new ScrollingViewportManager(TimeSpan.FromHours(6));

            TestChart.ViewportManager = scroll;
        }
Пример #10
0
        protected override void InitExample()
        {
            var data = DataManager.Instance.GetPriceDataIndu();

            var dataSeries = new OhlcDataSeries <DateTime, double>();

            dataSeries.Append(data.TimeData, data.OpenData, data.HighData, data.LowData, data.CloseData);

            var xAxis = new CategoryDateAxis(Activity);
            var yAxis = new NumericAxis(Activity)
            {
                GrowBy = new DoubleRange(0, 0.1)
            };

            var rs = new FastCandlestickRenderableSeries
            {
                DataSeries         = dataSeries,
                StrokeUpStyle      = new PenStyle.Builder(Activity).WithColor(Color.Green).Build(),
                StrokeDownStyle    = new PenStyle.Builder(Activity).WithColor(Color.Red).Build(),
                FillUpBrushStyle   = new SolidBrushStyle(Color.Green),
                FillDownBrushStyle = new SolidBrushStyle(Color.Red)
            };

            Surface.XAxes.Add(xAxis);
            Surface.YAxes.Add(yAxis);
            Surface.RenderableSeries.Add(rs);

            Surface.ChartModifiers = new ChartModifierCollection()
            {
                new ZoomPanModifier(),
                new PinchZoomModifier(),
                new ZoomExtentsModifier(),
            };
        }
        protected override void InitializeChart()
        {
            this.Chart            = new Chart();
            this.Chart.Title.Text = "Population Count";

            Series series = this.CreateSeries();

            series.Title = "United States";
            series.Items = this.DataManager.GetPopulationCountBasedOnCountry("United States");
            this.Chart.Series.Add(series);

            series       = this.CreateSeries();
            series.Title = "United Kingdom";
            series.Items = this.DataManager.GetPopulationCountBasedOnCountry("United Kingdom");
            this.Chart.Series.Add(series);

            NumericAxis independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>
                                              (o =>
            {
                o.NumberFormat    = "#,##0,,M";
                o.IsOriginVisible = false;
            });
            DateTimeAxis dependentAxis = Axis.CreateDefaultDependentAxis <DateTimeAxis>();

            this.Chart.IndependentAxis = independentAxis;
            this.Chart.DependentAxis   = dependentAxis;
        }
Пример #12
0
        protected override void InitExample()
        {
            var xBottomAxis = new NumericAxis(Activity)
            {
                VisibleRange = new DoubleRange(0, 10), AutoRange = AutoRange.Never, AxisTitle = "Time (seconds)"
            };
            var yRightAxis = new NumericAxis(Activity)
            {
                VisibleRange = new DoubleRange(-0.5, 1.5), AxisTitle = "Voltage (mV)"
            };

            var rs1 = new FastLineRenderableSeries {
                DataSeries = _series0
            };
            var rs2 = new FastLineRenderableSeries {
                DataSeries = _series1
            };

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xBottomAxis);
                Surface.YAxes.Add(yRightAxis);
                Surface.RenderableSeries.Add(rs1);
                Surface.RenderableSeries.Add(rs2);
            }
        }
        protected override void InitExample()
        {
            View.FindViewById <Button>(Resource.Id.start).Click += (sender, args) => Start();
            View.FindViewById <Button>(Resource.Id.pause).Click += (sender, args) => Pause();
            View.FindViewById <Button>(Resource.Id.reset).Click += (sender, args) => Reset();

            using (Surface.SuspendUpdates())
            {
                var xAxis = new NumericAxis(Activity)
                {
                    VisibleRange = _xVisibleRange, AutoRange = AutoRange.Never
                };
                var yAxis = new NumericAxis(Activity)
                {
                    GrowBy = new DoubleRange(0.1, 0.1), AutoRange = AutoRange.Always
                };

                var rs = new AnimatingLineRenderableSeries
                {
                    DataSeries  = _dataSeries,
                    StrokeStyle = new SolidPenStyle(0xFF4083B7, 3.ToDip(Activity))
                };

                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(rs);
            }

            Start();
        }
        protected override void InitializeChart()
        {
            base.InitializeChart();

            NumericAxis independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>(o => { o.IsAlternating = true; o.AlternatingRowColor = Colors.LightGray; });

            this.Chart.IndependentAxis = independentAxis;
        }
Пример #15
0
        protected override void InitializeChart()
        {
            this.Chart            = new Chart();
            this.Chart.Title.Text = "Intersoft Agile Status";

            ColumnSeries series = new ColumnSeries();

            series.Title = "Open";
            series.Items.Add(new DataPoint("Android", 42));
            this.Chart.Series.Add(series);

            series       = new ColumnSeries();
            series.Title = "In Progress";
            series.Items.Add(new DataPoint("Android", 72));
            this.Chart.Series.Add(series);

            series       = new ColumnSeries();
            series.Title = "Waiting for Review";
            series.Items.Add(new DataPoint("Android", 31));
            this.Chart.Series.Add(series);

            series       = new ColumnSeries();
            series.Title = "Resolved";
            series.Items.Add(new DataPoint("Android", 52));
            this.Chart.Series.Add(series);

            series       = new ColumnSeries();
            series.Title = "Closed";
            series.Items.Add(new DataPoint("Android", 45));
            this.Chart.Series.Add(series);

            series       = new ColumnSeries();
            series.Title = "Unresolved";
            series.Items.Add(new DataPoint("Android", 65));
            this.Chart.Series.Add(series);

            series = new ColumnSeries();
            series.Items.Add(new DataPoint("Android", 35));
            this.Chart.Series.Add(series);

            series = new ColumnSeries();
            series.Items.Add(new DataPoint("Android", 15));
            this.Chart.Series.Add(series);

            series = new ColumnSeries();
            series.Items.Add(new DataPoint("Android", 54));
            this.Chart.Series.Add(series);

            series = new ColumnSeries();
            series.Items.Add(new DataPoint("Android", 34));
            this.Chart.Series.Add(series);

            NumericAxis  independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>();
            CategoryAxis dependentAxis   = Axis.CreateDefaultDependentAxis <CategoryAxis>();

            this.Chart.IndependentAxis = independentAxis;
            this.Chart.DependentAxis   = dependentAxis;
        }
        public override void InitialValues()
        {
            NumericAxis axis = (NumericAxis)DefaultControlToTest;

            Assert.AreEqual(null, axis.Maximum);
            Assert.AreEqual(null, axis.Minimum);
            Assert.AreEqual(AxisOrientation.None, axis.Orientation);
            base.InitialValues();
        }
Пример #17
0
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity)
            {
                AutoRange = AutoRange.Always
            };
            var leftAxis = new NumericAxis(Activity)
            {
                AxisAlignment = AxisAlignment.Left, AxisId = AxisAlignment.Left.Name()
            };
            var rightAxis = new NumericAxis(Activity)
            {
                AxisAlignment = AxisAlignment.Right, AxisId = AxisAlignment.Right.Name()
            };

            var selectedStrokeStyle = new SolidPenStyle(ColorUtil.White, 4f.ToDip(Activity));
            var selectedPointMarker = new EllipsePointMarker
            {
                Width       = 10.ToDip(Activity),
                Height      = 10.ToDip(Activity),
                FillStyle   = new SolidBrushStyle(0xFFFF00DC),
                StrokeStyle = new SolidPenStyle(ColorUtil.White, 1f.ToDip(Activity))
            };

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(leftAxis);
                Surface.YAxes.Add(rightAxis);

                var initialColor = Color.Blue;
                for (var i = 0; i < SeriesCount; i++)
                {
                    var alignment  = i % 2 == 0 ? AxisAlignment.Left : AxisAlignment.Right;
                    var dataSeries = GenerateDataSeries(alignment, i);

                    var rs = new FastLineRenderableSeries
                    {
                        DataSeries  = dataSeries,
                        YAxisId     = alignment.Name(),
                        StrokeStyle = new SolidPenStyle(initialColor, 2f.ToDip(Activity))
                    };

                    // 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 = Color.Argb(255, (byte)newR, initialColor.G, (byte)newB);

                    Surface.RenderableSeries.Add(rs);
                }

                Surface.ChartModifiers.Add(new SeriesSelectionModifier
                {
                    SelectedSeriesStyle = new SelectedSeriesStyle(selectedStrokeStyle, selectedPointMarker)
                });
            }
        }
        protected override void InitExample()
        {
            var xAxis = new DateAxis(Activity)
            {
                GrowBy = new DoubleRange(0, 0.1)
            };
            var yAxis = new NumericAxis(Activity)
            {
                GrowBy = new DoubleRange(0, 0.1)
            };

            var dataSeries      = new XyzDataSeries <DateTime, double, double>();
            var tradeDataSource = DataManager.Instance.GetTradeticks().ToArray();

            dataSeries.Append(
                tradeDataSource.Select(x => x.TradeDate),
                tradeDataSource.Select(x => x.TradePrice),
                tradeDataSource.Select(x => x.TradeSize));

            var lineSeries = new FastLineRenderableSeries
            {
                DataSeries  = dataSeries,
                StrokeStyle = new SolidPenStyle(0xFFFF3333, 1.ToDip(Activity))
            };

            var bubbleSeries = new FastBubbleRenderableSeries
            {
                DataSeries       = dataSeries,
                BubbleBrushStyle = new SolidBrushStyle(0x77CCCCCC),
                StrokeStyle      = new SolidPenStyle(0xFFCCCCCC, 2f.ToDip(Activity)),
                ZScaleFactor     = 3,
                AutoZRange       = false,
            };

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(lineSeries);
                Surface.RenderableSeries.Add(bubbleSeries);
                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new RubberBandXyZoomModifier(),
                    new ZoomExtentsModifier(),
                };

                new ScaleAnimatorBuilder(lineSeries, 10600d)
                {
                    Interpolator = new OvershootInterpolator(), Duration = 1000, StartDelay = 600
                }.Start();
                new ScaleAnimatorBuilder(bubbleSeries, 10600d)
                {
                    Interpolator = new OvershootInterpolator(), Duration = 1000, StartDelay = 600
                }.Start();
            }
        }
        public void MaximumValueSmallerThanMinimumThrowsException()
        {
            NumericAxis axis    = (NumericAxis)DefaultControlToTest;
            double?     minimum = 0.0;
            double?     maximum = 100.0;

            axis.Minimum = minimum;
            axis.Maximum = maximum;
            axis.Maximum = -100.0;
        }
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity)
            {
                AxisAlignment = AxisAlignment.Left
            };
            var yAxis = new NumericAxis(Activity)
            {
                AxisAlignment = AxisAlignment.Bottom, FlipCoordinates = true
            };

            var yValues1 = new[] { 0.0, 0.1, 0.2, 0.4, 0.8, 1.1, 1.5, 2.4, 4.6, 8.1, 11.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 5.4, 6.4, 7.1, 8.0, 9.0 };
            var yValues2 = new[] { 2.0, 10.1, 10.2, 10.4, 10.8, 1.1, 11.5, 3.4, 4.6, 0.1, 1.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 1.4, 0.4, 10.1, 0.0, 0.0 };
            var yValues3 = new[] { 20.0, 4.1, 4.2, 10.4, 10.8, 1.1, 11.5, 3.4, 4.6, 5.1, 5.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 1.4, 10.4, 8.1, 10.0, 15.0 };

            var ds1 = new XyDataSeries <double, double> {
                SeriesName = "data 1"
            };
            var ds2 = new XyDataSeries <double, double> {
                SeriesName = "data 2"
            };
            var ds3 = new XyDataSeries <double, double> {
                SeriesName = "data 3"
            };

            for (var i = 0; i < yValues1.Length; i++)
            {
                ds1.Append(i, yValues1[i]);
                ds2.Append(i, yValues2[i]);
                ds3.Append(i, yValues3[i]);
            }

            var series1 = GetRenderableSeries(ds1, Color.Rgb(0x56, 0x78, 0x93), Color.Rgb(0x56, 0x78, 0x93), Color.Rgb(0x3D, 0x55, 0x68));
            var series2 = GetRenderableSeries(ds2, Color.Rgb(0xAC, 0xBC, 0xCA), Color.Rgb(0xAC, 0xBC, 0xCA), Color.Rgb(0x43, 0x9A, 0xAF));
            var series3 = GetRenderableSeries(ds3, Color.Rgb(0xDB, 0xE0, 0xE1), Color.Rgb(0xDB, 0xE0, 0xE1), Color.Rgb(0xB6, 0xC1, 0xC3));

            var columnsCollection = new VerticallyStackedColumnsCollection();

            columnsCollection.Add(series1);
            columnsCollection.Add(series2);
            columnsCollection.Add(series3);

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(columnsCollection);

                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new CursorModifier(),
                    new ZoomExtentsModifier(),
                };
            }
        }
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity)
            {
                GrowBy = new DoubleRange(0.1, 0.1)
            };
            var yAxis = new NumericAxis(Activity)
            {
                GrowBy = new DoubleRange(0.1, 0.1)
            };

            var rSeries1 = GetScatterRenderableSeries(Activity, new TrianglePointMarker(), 0xFFFFEB01, false);
            var rSeries2 = GetScatterRenderableSeries(Activity, new EllipsePointMarker(), 0xFFFFA300, false);
            var rSeries3 = GetScatterRenderableSeries(Activity, new TrianglePointMarker(), 0xFFFF6501, true);
            var rSeries4 = GetScatterRenderableSeries(Activity, new EllipsePointMarker(), 0xFFFFA300, true);

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(rSeries1);
                Surface.RenderableSeries.Add(rSeries2);
                Surface.RenderableSeries.Add(rSeries3);
                Surface.RenderableSeries.Add(rSeries4);

                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new ZoomExtentsModifier(),
                    new PinchZoomModifier(),
                    new CursorModifier().WithReceiveHandledEvents(true),
                    new XAxisDragModifier().WithReceiveHandledEvents(true),
                    new YAxisDragModifier {
                        DragMode = AxisDragMode.Pan
                    }
                };

                new WaveAnimatorBuilder(rSeries1)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(rSeries2)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(rSeries3)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(rSeries4)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
            }
        }
Пример #22
0
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity);
            var yAxis = new NumericAxis(Activity);

            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 LegendModifier(Activity);

            legendModifier.SetSourceMode(SourceMode.AllSeries);

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries = new RenderableSeriesCollection
                {
                    new FastLineRenderableSeries {
                        DataSeries = ds1, StrokeStyle = new SolidPenStyle(0xFFFFFF00, 2f.ToDip(Activity))
                    },
                    new FastLineRenderableSeries {
                        DataSeries = ds2, StrokeStyle = new SolidPenStyle(0xFF279B27, 2f.ToDip(Activity))
                    },
                    new FastLineRenderableSeries {
                        DataSeries = ds3, StrokeStyle = new SolidPenStyle(0xFFFF1919, 2f.ToDip(Activity))
                    },
                    new FastLineRenderableSeries {
                        DataSeries = ds4, IsVisible = false, StrokeStyle = new SolidPenStyle(0xFF1964FF, 2f.ToDip(Activity))
                    }
                };
                Surface.ChartModifiers.Add(legendModifier);
            }
        }
        public void MinimumMaximumChangeValues()
        {
            NumericAxis axis    = (NumericAxis)DefaultControlToTest;
            double?     minimum = 0.0;
            double?     maximum = 100.0;

            axis.Minimum = minimum;
            axis.Maximum = maximum;
            Assert.AreEqual(minimum, axis.Minimum);
            Assert.AreEqual(maximum, axis.Maximum);
        }
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity);
            var yAxis = new NumericAxis(Activity);

            var yValues1 = new[] { 4.0, 7, 5.2, 9.4, 3.8, 5.1, 7.5, 12.4, 14.6, 8.1, 11.7, 14.4, 16.0, 3.7, 5.1, 6.4, 3.5, 2.5, 12.4, 16.4, 7.1, 8.0, 9.0 };
            var yValues2 = new[] { 15.0, 10.1, 10.2, 10.4, 10.8, 1.1, 11.5, 3.4, 4.6, 0.1, 1.7, 14.4, 6.0, 13.7, 10.1, 8.4, 8.5, 12.5, 1.4, 0.4, 10.1, 5.0, 1.0 };

            var ds1 = new XyDataSeries <double, double> {
                SeriesName = "data 1"
            };
            var ds2 = new XyDataSeries <double, double> {
                SeriesName = "data 2"
            };

            for (var i = 0; i < yValues1.Length; i++)
            {
                ds1.Append(i, yValues1[i]);
            }
            for (var i = 0; i < yValues2.Length; i++)
            {
                ds2.Append(i, yValues2[i]);
            }

            var series1 = GetRenderableSeries(ds1, 0xDDDBE0E1, 0x88B6C1C3);
            var series2 = GetRenderableSeries(ds2, 0xDDACBCCA, 0x88439AAF);

            var seriesCollection = new VerticallyStackedMountainsCollection();

            seriesCollection.Add(series1);
            seriesCollection.Add(series2);

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(seriesCollection);
                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new CursorModifier(),
                    new ZoomExtentsModifier(),
                };

                new WaveAnimatorBuilder(series1)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(series2)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
            }
        }
        protected override void InitializeChart()
        {
            base.InitializeChart();

            NumericAxis independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>
                                              (o =>
            {
                o.NumberFormat = "#,##0,,M";
            });

            this.Chart.IndependentAxis = independentAxis;
        }
        protected override void InitExample()
        {
            var dataSeries      = new XyzDataSeries <DateTime, double, double>();
            var tradeDataSource = DataManager.Instance.GetTradeticks().ToArray();

            dataSeries.Append(
                tradeDataSource.Select(x => x.TradeDate),
                tradeDataSource.Select(x => x.TradePrice),
                tradeDataSource.Select(x => x.TradeSize));

            var xAxis = new DateAxis(Activity)
            {
                GrowBy = new DoubleRange(0, 0.1)
            };
            var yAxis = new NumericAxis(Activity)
            {
                GrowBy = new DoubleRange(0, 0.1)
            };

            var lineSeries = new FastLineRenderableSeries
            {
                DataSeries  = dataSeries,
                StrokeStyle = new PenStyle.Builder(Activity).WithColor(Color.Rgb(0xFF, 0x33, 0x33))
                              .WithThickness(1f, ComplexUnitType.Dip).Build()
            };

            var stops        = new[] { 0, 0.95f, 1 };
            var colors       = new int[] { Color.Transparent, Resources.GetColor(Resource.Color.color_primary), Color.Transparent };
            var gradientFill = new RadialGradientBrushStyle(0.5f, 0.5f, 0.5f, 0.5f, colors, stops, TileMode.Clamp);

            var bubbleSeries = new FastBubbleRenderableSeries
            {
                DataSeries       = dataSeries,
                BubbleBrushStyle = gradientFill,
                ZScaleFactor     = 3,
                AutoZRange       = false,
            };

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(lineSeries);
                Surface.RenderableSeries.Add(bubbleSeries);

                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new RubberBandXyZoomModifier(),
                    new ZoomExtentsModifier(),
                };
            }
        }
Пример #27
0
 protected BasePaneModel(Context context, string title, string yAxisTextFormatting, bool isFirstPane)
 {
     Title = title;
     YAxis = new NumericAxis(context)
     {
         AxisId         = title,
         TextFormatting = yAxisTextFormatting,
         AutoRange      = AutoRange.Always,
         MinorsPerMajor = isFirstPane ? 4 : 2,
         MaxAutoTicks   = isFirstPane ? 8 : 4,
         GrowBy         = isFirstPane ? new DoubleRange(0.05d, 0.05d) : new DoubleRange(0d, 0d)
     };
 }
        protected override void InitializeChart()
        {
            base.InitializeChart();

            NumericAxis independentAxis = Axis.CreateDefaultIndependentAxis <NumericAxis>
                                              (o =>
            {
                o.Maximum  = 100;
                o.Minimum  = 0;
                o.Interval = 10;
            });

            this.Chart.IndependentAxis = independentAxis;
        }
Пример #29
0
            private void UpdateSurface(ChartTypeModel chartTypeModel, View chartView)
            {
                var surface = (SciChartSurface)chartView.FindViewById(Resource.Id.chart);
                var xAxis   = new NumericAxis(_context);
                var yAxis   = new NumericAxis(_context);

                var seriesCollection = chartTypeModel.SeriesCollection;

                using (surface.SuspendUpdates())
                {
                    surface.XAxes.Add(xAxis);
                    surface.YAxes.Add(yAxis);
                    surface.RenderableSeries.Add(seriesCollection);
                }
            }
Пример #30
0
        protected override void InitExample()
        {
            View.FindViewById <Button>(Resource.Id.start).Click += (sender, args) => Start();
            View.FindViewById <Button>(Resource.Id.pause).Click += (sender, args) => Pause();
            View.FindViewById <Button>(Resource.Id.reset).Click += (sender, args) => Reset();

            var xAxis = new NumericAxis(Activity)
            {
                AutoRange = AutoRange.Always
            };
            var yAxis = new NumericAxis(Activity)
            {
                AutoRange = AutoRange.Always
            };

            var rs1 = new FastLineRenderableSeries {
                DataSeries = _mainSeries, StrokeStyle = new SolidPenStyle(0xFF4083B7, 2f.ToDip(Activity))
            };
            var rs2 = new FastLineRenderableSeries {
                DataSeries = _maLowSeries, StrokeStyle = new SolidPenStyle(0xFFFFA500, 2f.ToDip(Activity))
            };
            var rs3 = new FastLineRenderableSeries {
                DataSeries = _maHighSeries, StrokeStyle = new SolidPenStyle(0xFFE13219, 2f.ToDip(Activity))
            };

            _textView = new TextView(Activity);
            _textView.SetPadding(20, 20, 20, 20);
            var annotation = new CustomAnnotation(Activity)
            {
                CoordinateMode = AnnotationCoordinateMode.Relative,
                ZIndex         = -1,
                X1Value        = 0,
                Y1Value        = 0,
            };

            annotation.SetContentView(_textView);

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(rs1);
                Surface.RenderableSeries.Add(rs2);
                Surface.RenderableSeries.Add(rs3);
                Surface.Annotations.Add(annotation);
            }
            Start();
        }
Пример #31
0
        public TrackToShow()
        {
            XAxisCollection = new AxisCollection();
            YAxis = new NumericAxis
            {
                DrawMajorTicks = false,
                AxisAlignment = AxisAlignment.Left,
                FlipCoordinates = true,
                MinimalZoomConstrain = 1,
                Name = "yAxisDesign",
            };

            HasCurves = false;
            ChartModifier = new ModifierGroup();

            SeriesModifier = new SeriesSelectionModifier
            {
                ReceiveHandledEvents = true
            };
            ScaleModifier = new ScaleFactorModifier
            {
                ReceiveHandledEvents = true
            };
            ZoomPanModifier = new ZoomPanModifierExtension
            {
                ReceiveHandledEvents = true,
                ClipModeX = ClipMode.None,
                ExecuteOn = ExecuteOn.MouseLeftButton,
                IsEnabled = true,
                XyDirection = XyDirection.YDirection,
                ZoomExtentsY = true
            };

            LegendModifier = new LegendModifier
            {
                GetLegendDataFor = SourceMode.AllSeries
            };
            MouseWheelModifier = new MouseWheelZoomModifier
            {
                ReceiveHandledEvents = true,
                XyDirection = XyDirection.YDirection
            };
            ZoomModifier = new ZoomExtentsModifier
            {
                ReceiveHandledEvents = true,
                XyDirection = XyDirection.YDirection
            };
            TooltipModifierObject = new TooltipModifier
            {
                UseInterpolation = true
            };

            TooltipModifierObject.TooltipLabelTemplate = GetTooltipLabelTemplate();

            ChartModifier.ChildModifiers.Add(SeriesModifier);
            ChartModifier.ChildModifiers.Add(ScaleModifier);
            ChartModifier.ChildModifiers.Add(ZoomPanModifier);
            ChartModifier.ChildModifiers.Add(LegendModifier);
            ChartModifier.ChildModifiers.Add(MouseWheelModifier);
            ChartModifier.ChildModifiers.Add(ZoomModifier);
            ChartModifier.ChildModifiers.Add(TooltipModifierObject);
            ChartModifier.ChildModifiers.Add(ExtendedTooltipModifier);
        }
Пример #32
0
        private NumericAxis GetNewXAxisAndSetVisibleRangeLimit(Dataset dataset)
        {
            double minValueXAxis, maxValueXAxis;
            minValueXAxis = GlobalDataModel.GetValidMinUnitValue(dataset);
            maxValueXAxis = Convert.ToDouble(dataset.MaxUnitValue);

            var xAxis = new NumericAxis
            {
                DrawLabels = false,
                DrawMajorBands = false,
                DrawMajorGridLines = false,
                DrawMajorTicks = false
            };
            xAxis.VisibleRange = new DoubleRange(minValueXAxis, maxValueXAxis);
            xAxis.VisibleRangeLimit = new DoubleRange(minValueXAxis, maxValueXAxis);

            return xAxis;
        }