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); }
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); }
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); }