void InitialiseChart() { // if chart was added previously, remove it from the view before constructing it with new values if (chart != null) { chart.RemoveFromSuperview(); } chart = new IGChartView(View.Bounds); chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth; chart.Theme = IGChartGradientThemes.IGThemeDark(); View.Add(chart); }
public override string ResolveLabelForAxis(IGChartView chartView, IGAxis axis, NSObject item) { if (axis.Key.Equals("yAxis")) { var num = (NSNumber)item; return(string.Format("{0:C0}", num.DoubleValue)); } else { var point = (IGCategoryDatePoint)item; return(point.Label); } }
public override void ViewDidLoad() { base.ViewDidLoad(); _chart = new IGChartView(new RectangleF(this.View.Frame.X, 30, this.View.Frame.Width, this.View.Frame.Height - 40)); _chart.Delegate = new CustomDelegate(); _chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth; var xAxis = new IGCategoryXAxis("xAxis"); var yAxis = new IGNumericYAxis("yAxis"); _chart.AddAxis(xAxis); _chart.AddAxis(yAxis); yAxis.Minimum = 0; var columnSeries = new IGAreaSeries("columnSeries"); columnSeries.XAxis = xAxis; columnSeries.YAxis = yAxis; SetDataSourceOnSeries(columnSeries); _chart.AddSeries(columnSeries); ViewModel.DataPoints.Changed.ObserveOn(RxApp.MainThreadScheduler).Subscribe(p => SetDataSourceOnSeries(columnSeries)); _invalidInputsLabel = new UILabel(new RectangleF(this.View.Frame.X + 60, 40, this.View.Frame.Width - 60, this.View.Frame.Height - 40)); _invalidInputsLabel.Lines = 0; _invalidInputsLabel.LineBreakMode = UILineBreakMode.WordWrap; _invalidInputsLabel.Text = ViewModel.InvalidInputsMessage; _invalidInputsLabel.TextAlignment = UITextAlignment.Left; this.View.AddSubview(_invalidInputsLabel); this.View.AddSubview(_chart); Action assignVisibility = () => { _invalidInputsLabel.Hidden = ViewModel.HasValidInputs; _chart.Hidden = !ViewModel.HasValidInputs; }; assignVisibility(); ViewModel.WhenAnyValue(p => p.HasValidInputs) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(p => assignVisibility()); }
void InitialiseChart () { // if chart was added previously, remove it from the view before constructing it with new values if (chart != null) chart.RemoveFromSuperview (); chart = new IGChartView (View.Bounds); chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth; chart.Theme = IGChartGradientThemes.IGThemeDark (); View.Add (chart); }