Esempio n. 1
0
        public LogarithmicAxis()
        {
            SFChart chart = new SFChart();

            chart.PrimaryAxis = new SFCategoryAxis()
            {
                Interval = NSObject.FromObject(1)
            };
            chart.PrimaryAxis.Title.Text = new NSString("Years");
            SFLogarithmicAxis yAxis = new SFLogarithmicAxis();

            yAxis.ShowMinorGridLines    = true;
            yAxis.MinorTicksPerInterval = 5;
            yAxis.Title.Text            = new NSString("Profit");
            chart.SecondaryAxis         = yAxis;
            chart.Title.Text            = new NSString("Business Growth");
            chart.Title.EdgeInsets      = new UIEdgeInsets(10, 5, 10, 5);
            chart.EdgeInsets            = new UIEdgeInsets(-3, 5, 5, 10);
            chart.Delegate = new ChartDollarDelegate();
            ChartViewModel dataModel = new ChartViewModel();

            SFLineSeries series = new SFLineSeries();

            series.ItemsSource     = dataModel.LogarithmicData;
            series.XBindingPath    = "XValue";
            series.YBindingPath    = "YValue";
            series.EnableTooltip   = true;
            series.EnableAnimation = true;
            chart.Series.Add(series);
            this.AddSubview(chart);
        }
        private async void BuildInterface()
        {
            await _reportVm.GetTechnicianOcupalityThroughTimeAsync();

            View.BackgroundColor = new UIImage("Images/fondoInicio.jpg").GetScaledImageBackground(View);

            var header = new Header(View.Frame.Width)
            {
                LocationTitle   = _reportVm.SelectedUser.Name,
                LeftButtonImage = "Images/btn-atras.png",
                ButtonTouch     = (sender, args) => { _navigationService.GoBack(); }
            };

            var background = new UIView
            {
                Frame =
                    new CGRect(0, header.Frame.Height, View.Frame.Width,
                               View.Frame.Height - header.Frame.Height - 30),
                BackgroundColor = UIColor.White
            };

            var chart = new SFChart {
                PrimaryAxis = new SFCategoryAxis {
                    Interval = FromObject(1)
                }
            };

            chart.PrimaryAxis.Title.Text = new NSString("Meses");
            var yAxis = new SFLogarithmicAxis
            {
                ShowMajorGridLines    = true,
                MinorTicksPerInterval = 5
            };

            yAxis.Title.Text       = new NSString("Asignaciones");
            chart.SecondaryAxis    = yAxis;
            chart.Title.EdgeInsets = new UIEdgeInsets(10, 5, 10, 5);
            chart.EdgeInsets       = new UIEdgeInsets(-3, 5, 5, 10);
            chart.Title.Text       = new NSString("Ocupabilidad/Tiempo (%)");
            chart.Delegate         = new ChartMonthDelegate();
            chart.DataSource       = new TimelineDataSource();
            chart.Frame            = new CGRect(0, 30, background.Frame.Width, background.Frame.Height - 50);

            background.AddSubviews(chart);

            var copyRight = new UILabel
            {
                Text          = "2016 Ferreyros | Derechos Reservados",
                TextAlignment = UITextAlignment.Center,
                TextColor     = UIColor.White,
                Font          = UIFont.FromName("Helvetica-Light", 10f),
                Frame         = new CGRect(0, View.Frame.Height - 30, View.Frame.Width, 20)
            };

            View.AddSubviews(header, background, copyRight);
        }
Esempio n. 3
0
        public LogarithmicAxis()
        {
            SFChart chart = new SFChart();

            chart.PrimaryAxis = new SFCategoryAxis()
            {
                Interval              = NSObject.FromObject(2),
                ShowMajorGridLines    = false,
                EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift,
                PlotOffset            = 10,
                AxisLineOffset        = 10
            };
            chart.PrimaryAxis.Title.Text = new NSString("Year");
            SFLogarithmicAxis yAxis = new SFLogarithmicAxis();

            yAxis.ShowMinorGridLines    = true;
            yAxis.MinorTicksPerInterval = 5;
            yAxis.Title.Text            = new NSString("Profit");
            chart.SecondaryAxis         = yAxis;
            chart.Title.Text            = new NSString("Product X Growth [1995-2005]");
            chart.Title.EdgeInsets      = new UIEdgeInsets(10, 5, 10, 5);
            chart.EdgeInsets            = new UIEdgeInsets(-3, 5, 5, 10);
            chart.Delegate = new ChartDollarDelegate();
            ChartViewModel dataModel = new ChartViewModel();

            SFLineSeries series = new SFLineSeries();

            series.ItemsSource                  = dataModel.LogarithmicData;
            series.XBindingPath                 = "XValue";
            series.YBindingPath                 = "YValue";
            series.EnableTooltip                = true;
            series.EnableAnimation              = true;
            series.DataMarker.ShowMarker        = true;
            series.DataMarker.MarkerColor       = UIColor.White;
            series.DataMarker.MarkerBorderColor = UIColor.FromRGBA(0.0f / 255.0f, 189.0f / 255.0f, 174.0f / 255.0f, 1.0f);
            series.DataMarker.MarkerBorderWidth = 2;
            series.DataMarker.MarkerWidth       = 10f;
            series.DataMarker.MarkerHeight      = 10f;
            chart.Series.Add(series);
            chart.ColorModel.Palette = SFChartColorPalette.Natural;
            this.AddSubview(chart);
        }
Esempio n. 4
0
        private void InitializeChartData()
        {
            Chart.Legend.Visible = true;
            Chart.Legend.ToggleSeriesVisibility = true;
            var axisY = new SFLogarithmicAxis()
            {
                //Minimum = new NSNumber(5),
                //Maximum = new NSNumber(1200),
                //LogarithmicBase = 10,
                //Interval = new NSNumber(100),
                Visible            = true,
                IsInversed         = true,
                ShowMajorGridLines = true
            };

            axisY.Title.Text = new NSString("Pressure in mB".GetLocalString());
            var axisX = new SFNumericalAxis()
            {
                Maximum            = new NSNumber(40),
                Minimum            = new NSNumber(-90),
                ShowMajorGridLines = true,
                Interval           = new NSNumber(10)
            };

            axisX.Title.Text = new NSString("Temperature/Dewpoint in °C".GetLocalString());

            Chart.PrimaryAxis   = axisX;
            Chart.SecondaryAxis = axisY;

            var temperaturSeries = GetSeries(Data, "Temperature".GetLocalString(), "Temperature", "Pressure",
                                             Colors["Temperature"],
                                             false, 0, 0, false, 0, 100, true, true);



            Chart.Series.Add(temperaturSeries);

            var humditySeries = GetSeries(Data, "Dewpoint".GetLocalString(), "Dewpoint", "Pressure",
                                          Colors["Humidity"],
                                          false, 0, 100, false, 0, 100, false, false, false);


            Chart.Series.Add(humditySeries);



            //var series = GetSeries(Data, "Wind speed", "WindSpeed", "Geopotential",
            //                   Colors["WindSpeed"],
            //                   true, 0, 100, false, 0, 100, false, false, false);
            //Chart.Series.Add(series);

            //var pointSeries = GetPointSeries(ReducedData, "Temperature", "Temperature", "Pressure",
            //                                 Colors["Temperature"],
            //                              false, 0, 0, false, 0, 100);
            //Chart.Series.Add(pointSeries);

            //pointSeries = GetPointSeries(ReducedData, "Dewpoint", "Dewpoint", "Pressure",
            //                              Colors["Humidity"],
            //                              true, 0, 100, false, 0, 100, false, false, false);
            //Chart.Series.Add(pointSeries);

            //pointSeries = GetPointSeries(ReducedData, "Pressure", "Pressure", "Geopotential",
            //                       Colors["Pressure"],
            //                             true, 1, 1200, false, 1, 1200, false, false, true);
            //Chart.Series.Add(pointSeries);

            //pointSeries = GetPointSeries(ReducedData, "Wind speed", "WindSpeed", "Geopotential",
            //                   Colors["WindSpeed"],
            //                             true, 0, 100, true, 0, 100, false, false, false);
            //Chart.Series.Add(pointSeries);

            //var test = GetNewSeries(ReducedData, typeof(SFScatterSeries), "Wind speed", "Time", "WindSpeed",
            //Colors["WindSpeed"],
            //false, 0, 0, true, 0, 150, false);
        }
        public SFScatterSeries GetPointSeries(IEnumerable dataSource, string label, string xPath, string yPath, UIColor color,
                                              bool needAxisX, int minX, int maxX,
                                              bool needAxisY, int minY, int maxY,
                                              bool xAxisVisible = true, bool xAxisShowGridlines = false, bool xAxisIsLogarithmic = false,
                                              bool yAxisVisible = true, bool yAxisShowGridlines = false, bool yAxisIsLogarithmic = false)
        {
            var series = new SFScatterSeries();

            series.ItemsSource     = dataSource;
            series.Label           = label;
            series.VisibleOnLegend = false;
            //humditySeries.ItemsSource = Data;
            series.EnableTooltip = true;
            //series.EnableAnimation = true;
            series.XBindingPath = xPath;
            series.YBindingPath = yPath;
            series.Color        = color;
            if (needAxisX)
            {
                if (!xAxisIsLogarithmic)
                {
                    var axiX = new SFNumericalAxis()
                    {
                        Maximum            = new NSNumber(maxX),
                        Minimum            = new NSNumber(minX),
                        ShowMajorGridLines = xAxisShowGridlines,
                        Visible            = xAxisVisible
                    };

                    series.XAxis = axiX;
                }
                else
                {
                    var axiX = new SFLogarithmicAxis()
                    {
                        Maximum            = new NSNumber(maxY),
                        Minimum            = new NSNumber(minY),
                        Interval           = new NSNumber(100),
                        OpposedPosition    = true,
                        Visible            = xAxisVisible,
                        ShowMajorGridLines = xAxisShowGridlines
                    };

                    series.XAxis = axiX;
                }
            }
            if (needAxisY)
            {
                if (!yAxisIsLogarithmic)
                {
                    var axixY = new SFNumericalAxis();
                    axixY.Maximum            = new NSNumber(maxY);
                    axixY.Minimum            = new NSNumber(minY);
                    axixY.Visible            = yAxisVisible;
                    axixY.ShowMajorGridLines = yAxisShowGridlines;
                    series.YAxis             = axixY;
                }
                else
                {
                    var axixY = new SFLogarithmicAxis();
                    axixY.Maximum            = new NSNumber(maxY);
                    axixY.Minimum            = new NSNumber(minY);
                    axixY.Interval           = new NSNumber(100);
                    axixY.OpposedPosition    = true;
                    axixY.Visible            = yAxisVisible;
                    axixY.ShowMajorGridLines = yAxisShowGridlines;
                    series.YAxis             = axixY;
                }
            }
            return(series);
        }