public DateChartView ()
		{
			SFChart chart 						= new SFChart ();
			chart.Title.Text					= (NSString)"Average Sales Comparison";
			SFDateTimeAxis dateTimeAxis 		= new SFDateTimeAxis ();
			dateTimeAxis.EdgeLabelsDrawingMode  = SFChartAxisEdgeLabelsDrawingMode.Hide;
			dateTimeAxis.IntervalType 			= SFChartDateTimeIntervalType.Years;
			dateTimeAxis.Interval 				= new NSNumber(1);

			NSDateFormatter formatter			= new NSDateFormatter ();
			formatter.DateFormat				= "MM/yyyy";

			dateTimeAxis.LabelStyle.LabelFormatter	= formatter;
			dateTimeAxis.LabelRotationAngle			= -60;

			chart.PrimaryAxis 					= dateTimeAxis;
			chart.PrimaryAxis.Title.Text    	= new NSString ("Sales Across Years");

			chart.SecondaryAxis 				= new SFNumericalAxis ();
			chart.SecondaryAxis.Minimum 		= new NSNumber(0);
			chart.SecondaryAxis.Maximum 		= new NSNumber(100);
			chart.SecondaryAxis.Interval 		= new NSNumber(10);
			chart.SecondaryAxis.Title.Text 		= new NSString ("Sales Amount in Millions (USD)");

			NSNumberFormatter numberFormatter 	= new NSNumberFormatter ();
			numberFormatter.NumberStyle 		= NSNumberFormatterStyle.Currency;
			numberFormatter.MinimumFractionDigits	= 0;

			chart.SecondaryAxis.LabelStyle.LabelFormatter  = numberFormatter;

			DateTimeDataSource dataModel 	= new DateTimeDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			this.control = chart;
		}
		public AutoScrolling ()
		{

			chart 							= new SFChart ();
			SFNumericalAxis primaryAxis 	= new SFNumericalAxis ();
			primaryAxis.AutoScrollingDelta 	= 10;
			chart.PrimaryAxis				= primaryAxis;
			SFNumericalAxis secondaryAxis 	= new SFNumericalAxis ();
			secondaryAxis.Minimum 			= NSObject.FromObject(0);
			secondaryAxis.Maximum 			= NSObject.FromObject(9);
			chart.SecondaryAxis				= secondaryAxis;
			dataModel 						= new AutoScrollingDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;

			label 							= new UILabel ();
			label.Text 						= "In this demo, a data point is being added for every 500 milliseconds. The Chart is then automatically scrolled to display the fixed range of data points at the end. You can also pan to view previous data points. In this sample the delta value is 10";
			label.Font						= UIFont.FromName("Helvetica", 12f);
			label.TextAlignment 			= UITextAlignment.Center;
			label.LineBreakMode 			= UILineBreakMode.WordWrap;
			label.Lines 					= 6; 
			label.BackgroundColor   		= UIColor.Black.ColorWithAlpha (0.7f);
			label.TextColor 				= UIColor.White;

			chart.AddChartBehavior (new SFChartZoomPanBehavior());

			this.AddSubview (chart);
			this.AddSubview (label);
			this.control = this;
			random = new Random ();
			UpdateData ();
		}
		public Trackball ()
		{
			chart 					        = new SFChart ();
			SFNumericalAxis primaryAxis     = new SFNumericalAxis ();
			chart.PrimaryAxis 				= primaryAxis;
			SFNumericalAxis secondaryAxis 	= new SFNumericalAxis ();
			chart.SecondaryAxis 			= secondaryAxis;
			ChartTrackballDataSource dataModel 	= new ChartTrackballDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;

			label 					= new UILabel ();
			label.Text 				= "Press and hold to enable trackball";
			label.Font				= UIFont.FromName("Helvetica", 12f);
			label.TextAlignment 	= UITextAlignment.Center;
			label.LineBreakMode 	= UILineBreakMode.WordWrap;
			label.Lines 			= 2; 
			label.BackgroundColor   = UIColor.Black.ColorWithAlpha (0.7f);
			label.TextColor 		= UIColor.White;


			chart.AddChartBehavior (new SFChartTrackballBehavior());
			this.AddSubview (chart);
			this.AddSubview (label);
			this.control = this;
		}
		public ZoomingandPanning ()
		{
			chart 					= new SFChart ();
			SFCategoryAxis primary 	= new SFCategoryAxis ();
			primary.LabelPlacement	= SFChartLabelPlacement.BetweenTicks;
			chart.PrimaryAxis 		= primary;
			chart.PrimaryAxis.Title.Text    = new NSString ("Company");
			chart.SecondaryAxis 			= new SFNumericalAxis ();
			chart.SecondaryAxis.Title.Text  = new NSString ("Sales");

			ChartZoomPanDataSource dataModel 	= new ChartZoomPanDataSource ();
			chart.DataSource 					= dataModel as SFChartDataSource;

			label 					= new UILabel ();
			label.Text 				= "Pinch to zoom or double tap and drag to select a region to zoom in";
			label.Font				= UIFont.FromName("Helvetica", 12f);
			label.TextAlignment 	= UITextAlignment.Center;
			label.LineBreakMode 	= UILineBreakMode.WordWrap;
			label.Lines 			= 2; 
			label.BackgroundColor   = UIColor.Black.ColorWithAlpha (0.7f);
			label.TextColor 		= UIColor.White;

			chart.AddChartBehavior (new SFChartZoomPanBehavior() {EnableSelectionZooming = true});
			this.AddSubview (chart);
			this.AddSubview (label);
			this.control = this;

		}
Example #5
0
	public override SFSeries GetSeries (SFChart chart, nint index)
	{
		SFLineSeries series = new SFLineSeries ();
		series.DataMarker.ShowLabel	= true;
		series.DataMarker.LabelStyle.Angle = 320;
		return series;
	}
		public override SFSeries GetSeries (SFChart chart, nint index)
		{
			SFRangeColumnSeries series					= new SFRangeColumnSeries ();
			series.DataMarker.ShowLabel					= true;
			series.DataMarker.LabelStyle.Margin 	    = new UIEdgeInsets (3, 3, 3, 3);
			return series;
		}
Example #7
0
	public override SFSeries GetSeries (SFChart chart, nint index)
	{
		SFSplineSeries series		= new SFSplineSeries ();
		series.LineWidth 			= 3;
		series.DataMarker.ShowLabel	= true;
		return series;
	}
Example #8
0
		public Pyramid ()
		{
			SFChart chart 						= new SFChart ();
			chart.Legend.Visible 				= true;
			ChartPyramidDataSource dataModel	= new ChartPyramidDataSource ();
			chart.DataSource 					= dataModel as SFChartDataSource;
			this.control = chart;
		}
Example #9
0
	public override SFSeries GetSeries (SFChart chart, nint index)
	{
		SFPieSeries series			= new SFPieSeries ();
		series.ExplodeIndex 		= 3;
		series.DataMarker.ShowLabel	= true;
		series.DataMarkerPosition 	= SFChartCircularSeriesLabelPosition.OutsideExtended;
		return series;
	}
	public override SFSeries GetSeries (SFChart chart, nint index)
	{
		SFSplineAreaSeries series		= new SFSplineAreaSeries ();
		series.Alpha 					= 0.6f;
		series.BorderColor 				= UIColor.FromRGBA( 255.0f/255.0f ,191.0f/255.0f,0.0f/255.0f,1.0f);
		series.BorderWidth 				= 3;
		return series;
	}
Example #11
0
		public override SFSeries GetSeries (SFChart chart, nint index)
		{
			SFScatterSeries series			= new SFScatterSeries ();
			series.ScatterWidth 			= 10;
			series.ScatterHeight 			= 10;
			series.DataMarker.ShowLabel     = true;
			return series;
		}
	public override SFSeries GetSeries (SFChart chart, nint index)
	{
		SFStackingColumn100Series series 			= new SFStackingColumn100Series ();
		series.DataMarkerPosition				 	= SFChartDataMarkerPosition.Center;
		series.DataMarker.ShowLabel 				= true;
		series.DataMarker.LabelStyle.LabelPosition 	= SFChartDataMarkerLabelPosition.Center;
		return series;
	}
	public override SFSeries GetSeries (SFChart chart, nint index)
	{
		SFDoughnutSeries series				= new SFDoughnutSeries ();
		series.DataMarker.ShowLabel			= true;
		series.ExplodeOnTouch				= true;
		series.DataMarker.LabelContent		= SFChartLabelContent.Percentage;
		return series;
	}
		public DoughnutChartView ()
		{
			SFChart chart 						= new SFChart ();
			chart.Title.Text 					= new NSString ("Doughnut Chart Title");
			chart.Legend.Visible 				= true;
			ChartDoughnutDataSource dataModel 	= new ChartDoughnutDataSource ();
			chart.DataSource 					= dataModel as SFChartDataSource;
			this.control = chart; 
		}
Example #15
0
		public SemiPie ()
		{
			SFChart chart 						= new SFChart ();
			chart.Legend.Visible 				= true;
			ChartSemiPieDataSource dataModel 	= new ChartSemiPieDataSource ();
			chart.DataSource 					= dataModel as SFChartDataSource;
			chart.Legend.DockPosition 			= SFChartLegendPosition.Bottom;
			chart.Title.Text 					= new NSString ("Products Growth - 2015");
			this.control = chart;
		}
Example #16
0
		public Bubble ()
		{
			SFChart chart 		= new SFChart ();
			chart.PrimaryAxis 	= new SFCategoryAxis (){ PlotOffset = 30 };
			chart.SecondaryAxis = new SFNumericalAxis ();

			ChartBubbleDataSource dataModel = new ChartBubbleDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			this.control = chart;
		}
Example #17
0
	public override SFSeries GetSeries (SFChart chart, nint index)
	{
		SFPieSeries series			= new SFPieSeries ();
		series.StartAngle 			= 180;
		series.EndAngle 			= 360;
		series.DataMarker.ShowLabel	= true;
		series.DataMarker.LabelContent	= SFChartLabelContent.Percentage;
		series.DataMarkerPosition 		= SFChartCircularSeriesLabelPosition.Outside;
		return series;
	}
Example #18
0
		public OHLC ()
		{
			SFChart chart 					= new SFChart ();
			chart.PrimaryAxis 				= new SFCategoryAxis ();
			chart.SecondaryAxis 			= new SFNumericalAxis ();

			ChartOHLCDataSource dataModel 	= new ChartOHLCDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			this.control = chart;
		}
Example #19
0
		public Spline ()
		{
			SFChart chart 					= new SFChart ();
			SFCategoryAxis primaryAxis 		= new SFCategoryAxis ();
			chart.PrimaryAxis 				= primaryAxis;
			chart.PrimaryAxis.PlotOffset	= 10;
			chart.SecondaryAxis 			= new SFNumericalAxis ();
			ChartSplineDataSource dataModel = new ChartSplineDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			this.control = chart;
		}
		public StackingArea100 ()
		{
			SFChart chart 						= new SFChart ();
			SFCategoryAxis primaryAxis 			= new SFCategoryAxis ();
			primaryAxis.EdgeLabelsDrawingMode   = SFChartAxisEdgeLabelsDrawingMode.Shift;
			chart.PrimaryAxis 					= primaryAxis;
			chart.SecondaryAxis 				= new SFNumericalAxis ();
			StackingArea100DataSource dataModel = new StackingArea100DataSource ();
			chart.DataSource 					= dataModel as SFChartDataSource;
			this.control = chart;
		}
		public StackingColumn100 ()
		{
			SFChart chart 							= new SFChart ();
			SFCategoryAxis primaryAxis 				= new SFCategoryAxis ();
			primaryAxis.LabelPlacement				= SFChartLabelPlacement.BetweenTicks;
			chart.PrimaryAxis 						= primaryAxis;
			chart.SecondaryAxis					 	= new SFNumericalAxis ();
			StackingColumn100DataSource dataModel 	= new StackingColumn100DataSource ();
			chart.DataSource 						= dataModel as SFChartDataSource;
			this.control = chart;
		}
Example #22
0
		public Candle ()
		{
			SFChart chart 			= new SFChart ();
			SFCategoryAxis primary 	= new SFCategoryAxis ();
			chart.PrimaryAxis 		= primary;
			chart.SecondaryAxis 	= new SFNumericalAxis ();

			ChartCandleDataSource dataModel = new ChartCandleDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			this.control = chart;

		}
		public StackedBar ()
		{
			SFChart chart 					= new SFChart ();
			SFCategoryAxis primaryAxis 		= new SFCategoryAxis ();
			primaryAxis.LabelPlacement 		= SFChartLabelPlacement.BetweenTicks;
			chart.PrimaryAxis 				= primaryAxis;
			chart.SecondaryAxis 			= new SFNumericalAxis ();
			chart.SecondaryAxis.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift;
			StackingBarDataSource dataModel = new StackingBarDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			this.control = chart;
		}
Example #24
0
		public Bar ()
		{
			SFChart chart 				= new SFChart ();
			SFCategoryAxis primary 		= new SFCategoryAxis ();
			chart.PrimaryAxis 			= primary;
			chart.SecondaryAxis 		= new SFNumericalAxis (){ 
				EdgeLabelsDrawingMode 	= SFChartAxisEdgeLabelsDrawingMode.Shift 
			};

			ChartBarDataSource dataModel 	= new ChartBarDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			this.control = chart;
		}
		public SplineArea ()
		{
			SFChart chart 						= new SFChart ();
			SFCategoryAxis primaryAxis 			= new SFCategoryAxis ();
			primaryAxis.EdgeLabelsDrawingMode   = SFChartAxisEdgeLabelsDrawingMode.Shift;
			chart.PrimaryAxis 					= primaryAxis;
			SFNumericalAxis secondaryAxis 		= new SFNumericalAxis ();
			secondaryAxis.Interval 				= NSObject.FromObject(5);
			chart.SecondaryAxis 				= secondaryAxis;
			ChartSplineAreaDataSource dataModel = new ChartSplineAreaDataSource ();
			chart.DataSource 					= dataModel as SFChartDataSource;
			this.control 						= chart;
		}
		public RangeColumn ()
		{
			SFChart chart 			  = new SFChart ();
			SFCategoryAxis primary 	  = new SFCategoryAxis ();
			primary.LabelPlacement	  = SFChartLabelPlacement.BetweenTicks;
			chart.PrimaryAxis 		  = primary;
			chart.SecondaryAxis 	  = new SFNumericalAxis (){ ShowMajorGridLines = false };

			ChartRangeColumnDataSource dataModel = new ChartRangeColumnDataSource ();
			chart.DataSource 					 = dataModel as SFChartDataSource;
			this.control 						 = chart;

		}
		public NumericalAxis()
		{
			SFChart chart 		= new SFChart ();
			chart.PrimaryAxis	= new SFNumericalAxis (){ Interval = NSObject.FromObject(1)};
			chart.PrimaryAxis.Title.Text    = new NSString ("X Axis");
			chart.SecondaryAxis 			= new SFNumericalAxis ();
			chart.SecondaryAxis.Title.Text  = new NSString ("Y Axis");

			ChartNumericalSource dataModel 	= new ChartNumericalSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			chart.Legend.Visible 			= true;
			this.control = chart;
		}
Example #28
0
		public Scatter ()
		{
			SFChart chart 			        = new SFChart ();
			SFCategoryAxis primary 			= new SFCategoryAxis (){PlotOffset = 20};
			primary.ShowMajorGridLines 		= false;
			chart.PrimaryAxis 			    = primary;
			SFNumericalAxis secondary 		= new SFNumericalAxis (){PlotOffset = 20};
			secondary.ShowMajorGridLines    = false;
			chart.SecondaryAxis 			= secondary;
			ChartScatterSource dataModel 	= new ChartScatterSource ();
			chart.DataSource 		        = dataModel as SFChartDataSource;
			this.control 				    = chart;

		}
Example #29
0
		public DateTimeAxis ()
		{
			SFChart chart 					= new SFChart ();
			SFDateTimeAxis dateTimeAxis 	= new SFDateTimeAxis ();
			dateTimeAxis.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift;
			chart.PrimaryAxis 				= dateTimeAxis;
			chart.PrimaryAxis.Title.Text    = new NSString ("DateTime Axis");
			chart.SecondaryAxis 			= new SFNumericalAxis ();
			chart.SecondaryAxis.Title.Text  = new NSString ("Numerical Axis");
			DateTimeDataSource dataModel 	= new DateTimeDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			chart.Legend.Visible            = true;
			this.control = chart;
		}
Example #30
0
		public CategoryAxis ()
		{
			SFChart chart 					= new SFChart ();
			SFCategoryAxis categoryAxis 	= new SFCategoryAxis ();
			categoryAxis.LabelPlacement 	= SFChartLabelPlacement.BetweenTicks;
			chart.PrimaryAxis				= categoryAxis;
			chart.PrimaryAxis.Title.Text    = new NSString ("Category Axis");
			chart.SecondaryAxis 			= new SFNumericalAxis ();
			chart.SecondaryAxis.Title.Text  = new NSString ("Numerical Axis");
			ChartCagetorySource dataModel 	= new ChartCagetorySource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			chart.Legend.Visible 			= true;
			this.control = chart;
		}
Example #31
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            EdgesForExtendedLayout = UIRectEdge.None;
            Chart          = new SFChart();
            CDelegate      = new ChartDelegate();
            Chart.Delegate = CDelegate;

            var sampleFrame = new CGRect(ChartView.Bounds.Location.X,
                                         ChartView.Bounds.GetMinY(),
                                         ChartView.Bounds.Width,
                                         ChartView.Bounds.Height);

            Chart.Frame = sampleFrame;
            Chart.TranslatesAutoresizingMaskIntoConstraints = false;

            View.AddSubview(Chart);

            var horizontalConstraint = NSLayoutConstraint.Create(Chart, NSLayoutAttribute.Top,
                                                                 NSLayoutRelation.Equal,
                                                                 ChartView,
                                                                 NSLayoutAttribute.Top, 1, 0);

            var verticalConstraint = NSLayoutConstraint.Create(Chart,
                                                               NSLayoutAttribute.Bottom,
                                                               NSLayoutRelation.Equal,
                                                               ChartView,
                                                               NSLayoutAttribute.Bottom, 1, 0);
            var widthConstraint = NSLayoutConstraint.Create(Chart,
                                                            NSLayoutAttribute.Width,
                                                            NSLayoutRelation.Equal,
                                                            ChartView, NSLayoutAttribute.Width, 1, 0);
            var heightConstraint = NSLayoutConstraint.Create(Chart,
                                                             NSLayoutAttribute.Height,
                                                             NSLayoutRelation.Equal,
                                                             ChartView,
                                                             NSLayoutAttribute.Height, 1, 0);

            NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { horizontalConstraint, verticalConstraint, widthConstraint, heightConstraint });
            InitializeChartData();
        }
Example #32
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);
        }
        public LineChartCell()
        {
            chart = new SFChart();
            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.PlotOffset = 5;
            chart.PrimaryAxis      = primaryAxis;
            SFNumericalAxis secondaryAxis = new SFNumericalAxis();

            chart.SecondaryAxis = secondaryAxis;
            dataModel           = new ChartLineDataSource();
            chart.DataSource    = dataModel as SFChartDataSource;
            chart.PrimaryAxis.ShowMajorGridLines   = false;
            chart.PrimaryAxis.Visible              = false;
            chart.SecondaryAxis.Visible            = false;
            chart.SecondaryAxis.ShowMajorGridLines = false;
            chart.Legend.Visible = false;
            this.AddSubview(chart);
            this.CanRenderUnLoad = false;
        }
Example #34
0
        public Bubble()
        {
            SFChart chart = new SFChart();

            chart.Title.Text = new NSString("World Countries Details");
            SFNumericalAxis primaryAxis = new SFNumericalAxis();

            chart.PrimaryAxis              = primaryAxis;
            primaryAxis.Minimum            = new NSNumber(50);
            primaryAxis.Maximum            = new NSNumber(110);
            primaryAxis.Interval           = new NSNumber(10);
            primaryAxis.ShowMinorGridLines = false;
            primaryAxis.ShowMajorGridLines = false;
            chart.PrimaryAxis.Title.Text   = new NSString("Literacy Rate");

            chart.SecondaryAxis                    = new SFNumericalAxis();
            chart.SecondaryAxis.Title.Text         = new NSString("GDP Growth Rate");
            chart.SecondaryAxis.Minimum            = new NSNumber(-2);
            chart.SecondaryAxis.Maximum            = new NSNumber(16);
            chart.SecondaryAxis.ShowMinorGridLines = false;
            chart.SecondaryAxis.ShowMajorGridLines = false;
            ChartViewModel dataModel = new ChartViewModel();

            SFBubbleSeries series = new SFBubbleSeries();

            series.EnableTooltip      = true;
            series.Alpha              = 0.6f;
            series.ItemsSource        = dataModel.BubbleData;
            series.XBindingPath       = "XValue";
            series.YBindingPath       = "YValue";
            series.Size               = "Size";
            series.MaximumRadius      = 20;
            series.MinimumRadius      = 5;
            series.ColorModel.Palette = SFChartColorPalette.Natural;
            series.EnableAnimation    = true;
            chart.Series.Add(series);

            chart.AddChartBehavior(new SFChartZoomPanBehavior());

            this.AddSubview(chart);
        }
Example #35
0
        public CategoryAxis()
        {
            SFChart chart = new SFChart();

            chart.Title.Text = new NSString("Internet Users - 2016");
            SFCategoryAxis categoryAxis = new SFCategoryAxis();

            categoryAxis.LabelPlacement     = SFChartLabelPlacement.BetweenTicks;
            categoryAxis.ShowMajorGridLines = false;
            chart.PrimaryAxis            = categoryAxis;
            chart.PrimaryAxis.Interval   = new NSNumber(1);
            chart.PrimaryAxis.Title.Text = new NSString("Country");
            chart.PrimaryAxis.LabelStyle.WrappedLabelAlignment = ChartAxisLabelAlignment.Center;
            chart.PrimaryAxis.LabelStyle.MaxWidth = 35;
            chart.PrimaryAxis.LabelStyle.Color    = UIColor.Black;

            chart.SecondaryAxis                    = new SFNumericalAxis();
            chart.SecondaryAxis.Minimum            = new NSNumber(0);
            chart.SecondaryAxis.Maximum            = new NSNumber(75);
            chart.SecondaryAxis.Interval           = new NSNumber(10);
            chart.SecondaryAxis.Visible            = false;
            chart.SecondaryAxis.ShowMajorGridLines = false;
            chart.SecondaryAxis.ShowMinorGridLines = false;
            chart.Delegate = new DataMarkerFormatter();
            ChartViewModel dataModel = new ChartViewModel();

            SFColumnSeries series = new SFColumnSeries();

            series.ItemsSource          = dataModel.CategoryData;
            series.XBindingPath         = "XValue";
            series.YBindingPath         = "YValue";
            series.EnableTooltip        = true;
            series.EnableAnimation      = true;
            series.ColorModel.Palette   = SFChartColorPalette.Natural;
            series.DataMarker.ShowLabel = true;
            series.DataMarker.LabelStyle.LabelPosition = SFChartDataMarkerLabelPosition.Outer;
            series.DataMarker.LabelStyle.Font          = UIFont.SystemFontOfSize(12f);
            chart.Series.Add(series);

            this.AddSubview(chart);
        }
Example #36
0
        public RangeBar()
        {
            chart            = new SFChart();
            chart.Title.Text = new NSString("Pipeline Volume");
            chart.Title.Font = UIFont.SystemFontOfSize(13);

            SFCategoryAxis categoryaxis = new SFCategoryAxis();

            categoryaxis.ShowMajorGridLines      = false;
            categoryaxis.AxisLineStyle.LineWidth = 0;
            categoryaxis.MajorTickStyle.LineSize = 0;
            categoryaxis.LabelStyle.Color        = UIColor.Black;
            categoryaxis.LabelStyle.Font         = UIFont.SystemFontOfSize(11);
            chart.PrimaryAxis = categoryaxis;

            SFNumericalAxis numericalaxis = new SFNumericalAxis();

            numericalaxis.Visible                 = false;
            numericalaxis.ShowMajorGridLines      = false;
            numericalaxis.AxisLineStyle.LineWidth = 0;
            numericalaxis.MajorTickStyle.LineSize = 0;
            chart.SecondaryAxis = numericalaxis;
            ChartViewModel dataModel = new ChartViewModel();

            SFRangeColumnSeries rangeColumnSeries = new SFRangeColumnSeries();

            rangeColumnSeries.ItemsSource          = dataModel.RangeBarData;
            rangeColumnSeries.XBindingPath         = "XValue";
            rangeColumnSeries.High                 = "YValue";
            rangeColumnSeries.Low                  = string.Empty;
            rangeColumnSeries.DataMarker.ShowLabel = true;
            NSNumberFormatter formatter = new NSNumberFormatter();

            formatter.PositiveFormat = "$#,###";
            rangeColumnSeries.DataMarker.LabelStyle.LabelFormatter = formatter;
            rangeColumnSeries.IsTransposed       = true;
            rangeColumnSeries.ColorModel.Palette = SFChartColorPalette.Natural;
            chart.Series.Add(rangeColumnSeries);

            this.AddSubview(chart);
        }
Example #37
0
        private void SetSfChart(SFChart chart)
        {
            chart.PrimaryAxis = new SFNumericalAxis();
            chart.PrimaryAxis.ShowMajorGridLines      = false;
            chart.PrimaryAxis.Visible                 = false;
            chart.PrimaryAxis.LabelStyle.Font         = UIFont.SystemFontOfSize(0.01f);
            chart.PrimaryAxis.AxisLineStyle.LineColor = UIColor.FromRGBA(0, 0, 0, 0);
            chart.PrimaryAxis.AxisLineStyle.LineWidth = 0;
            chart.SecondaryAxis = new SFNumericalAxis();
            chart.SecondaryAxis.LabelStyle.Font         = UIFont.SystemFontOfSize(0.01f);
            chart.SecondaryAxis.ShowMajorGridLines      = false;
            chart.SecondaryAxis.ShowMinorGridLines      = false;
            chart.SecondaryAxis.Visible                 = false;
            chart.SecondaryAxis.AxisLineStyle.LineColor = UIColor.FromRGBA(0, 0, 0, 0);
            chart.SecondaryAxis.AxisLineStyle.LineWidth = 0;



            chart.EdgeInsets      = new UIEdgeInsets(10f, 10f, 10f, 10f);
            chart.BackgroundColor = UIColor.White;
        }
        public override void ViewDidLoad()
        {
            View.BackgroundColor = UIColor.White;

            base.ViewDidLoad();

            SFChart chart = new SFChart();

            chart.Frame = new CGRect(0, 200, 300, 300);

            //Adding Primary Axis for the Chart.
            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            chart.PrimaryAxis = primaryAxis;

            //Adding Secondary Axis for the Chart.
            SFNumericalAxis secondaryAxis = new SFNumericalAxis();

            chart.SecondaryAxis = secondaryAxis;

            this.View.AddSubview(chart);

            //Initializing column series
            SFColumnSeries series = new SFColumnSeries()
            {
                XBindingPath = "price_btc",

                YBindingPath = "timestamp"
            };

            chart.Series.Add(series);

            var set = this.CreateBindingSet <SecondView, SecondViewModel>();

            //set.Bind(series).For(s => s.ItemsSource).To(vm => vm.CoinHistory);
            set.Bind(series).For("ItemsSource").To(vm => vm.CoinHistory);

            //set.Bind(loadBtn).To(vm => vm.LoadDataCommand);
            set.Apply();
        }
Example #39
0
        public Scatter()
        {
            SFChart        chart   = new SFChart();
            SFCategoryAxis primary = new SFCategoryAxis()
            {
                PlotOffset = 20
            };

            primary.ShowMajorGridLines = false;
            chart.PrimaryAxis          = primary;
            SFNumericalAxis secondary = new SFNumericalAxis()
            {
                PlotOffset = 20
            };

            secondary.ShowMajorGridLines = false;
            chart.SecondaryAxis          = secondary;
            ChartScatterSource dataModel = new ChartScatterSource();

            chart.DataSource = dataModel as SFChartDataSource;
            this.control     = chart;
        }
    public override SFSeries GetSeries(SFChart chart, nint index)
    {
        SFStackingAreaSeries series = new SFStackingAreaSeries();

        series.Alpha       = 0.6f;
        series.BorderWidth = 3;

        if (index == 0)
        {
            series.BorderColor = UIColor.FromRGBA(255.0f / 255.0f, 191.0f / 255.0f, 0.0f / 255.0f, 1.0f);
        }
        else if (index == 1)
        {
            series.BorderColor = UIColor.FromRGBA(81.0f / 255.0f, 72.0f / 255.0f, 57.0f / 255.0f, 1.0f);
        }
        else
        {
            series.BorderColor = UIColor.FromRGBA(195.0f / 255.0f, 81.0f / 255.0f, 64.0f / 255.0f, 1.0f);
        }

        return(series);
    }
Example #41
0
        public CategoryAxis()
        {
            SFChart chart = new SFChart();

            chart.Title.Text = new NSString("Sales Comparison");
            SFCategoryAxis categoryAxis = new SFCategoryAxis();

            categoryAxis.LabelPlacement  = SFChartLabelPlacement.BetweenTicks;
            chart.PrimaryAxis            = categoryAxis;
            chart.PrimaryAxis.Interval   = new NSNumber(1);
            chart.PrimaryAxis.Title.Text = new NSString("Sales Across Products");

            chart.SecondaryAxis            = new SFNumericalAxis();
            chart.SecondaryAxis.Title.Text = new NSString("Sales Amount in Millions (USD)");
            chart.SecondaryAxis.Minimum    = new NSNumber(0);
            chart.SecondaryAxis.Maximum    = new NSNumber(100);
            chart.SecondaryAxis.Interval   = new NSNumber(10);

            NSNumberFormatter numberFormatter = new NSNumberFormatter();

            numberFormatter.NumberStyle           = NSNumberFormatterStyle.Currency;
            numberFormatter.MinimumFractionDigits = 0;

            chart.SecondaryAxis.LabelStyle.LabelFormatter = numberFormatter;

            ChartViewModel dataModel = new ChartViewModel();

            SFLineSeries series = new SFLineSeries();

            series.ItemsSource     = dataModel.CategoryData;
            series.XBindingPath    = "XValue";
            series.YBindingPath    = "YValue";
            series.EnableTooltip   = true;
            series.EnableAnimation = true;
            chart.Series.Add(series);

            this.AddSubview(chart);
        }
        public override void ViewDidAppear(bool animated)
        {
            base.ViewDidAppear(animated);

            ParentViewController.Title = StaticValues.ReportNavigationTitle;

            foreach (var view in View.Subviews)
            {
                view.RemoveFromSuperview();
            }

            SFChart chart = new SFChart();

            chart.Frame = this.View.Frame;

            chart.Legend.Visible = true;

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            chart.PrimaryAxis             = primaryAxis;
            chart.ColorModel.Palette      = SFChartColorPalette.Custom;
            chart.ColorModel.CustomColors = NSArray.FromObjects(StaticValues.DarkBlue, StaticValues.LightBlue);


            var repository    = new RepositoryCore(CoreUtilities.GetLogService());
            var topCategories = repository.GetTopCategories();
            var totalExpense  = repository.GetExpenses();
            var averageSpent  = totalExpense.Count == 0 ? 0 : totalExpense.Average(e => e.Value);

            if (topCategories.Count > 0)
            {
                var dataModel = new ReportChartDataSource(topCategories, averageSpent);
                chart.DataSource = dataModel as SFChartDataSource;

                this.View.AddSubview(chart);
                chart.Frame = new RectangleF(10, 70, (float)View.Bounds.Width - 10, (float)View.Bounds.Height - 160);
            }
        }
Example #43
0
        public DataPointSelection()
        {
            chart            = new SFChart();
            chart.Title.Text = new NSString("Product Sale 2016");
            SFCategoryAxis primary = new SFCategoryAxis();

            primary.LabelPlacement = SFChartLabelPlacement.BetweenTicks;
            primary.Title.Text     = new NSString("Month");
            chart.PrimaryAxis      = primary;
            chart.SecondaryAxis    = new SFNumericalAxis()
            {
                ShowMajorGridLines = false
            };
            chart.SecondaryAxis.Title.Text = new NSString("Sales");

            dataModel = new ChartViewModel();

            SFColumnSeries series = new SFColumnSeries();

            series.ItemsSource              = dataModel.SelectionData;
            series.XBindingPath             = "XValue";
            series.YBindingPath             = "YValue";
            series.EnableDataPointSelection = true;
            series.EnableAnimation          = true;
            series.Color = UIColor.FromRGBA(0, 189f / 255f, 174f / 255f, 0.5f);
            series.SelectedDataPointColor = UIColor.FromRGBA(0, 189f / 255f, 174f / 255f, 1f);
            chart.Series.Add(series);

            chart.Delegate = new ChartSelectionDelegate();
            chart.AddChartBehavior(new SFChartSelectionBehavior());
            label               = new UILabel();
            label.Text          = "Month :  Mar, Sales : $ 53";
            label.Font          = UIFont.FromName("Helvetica", 13f);
            label.TextAlignment = UITextAlignment.Center;
            this.AddSubview(chart);
            this.AddSubview(label);
        }
Example #44
0
        public MultipleAxes()
        {
            SFChart        chart       = new SFChart();
            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.LabelPlacement = SFChartLabelPlacement.BetweenTicks;
            primaryAxis.Title.Text     = new NSString("Years");
            chart.PrimaryAxis          = primaryAxis;
            chart.SecondaryAxis        = new SFNumericalAxis()
            {
                Minimum            = NSObject.FromObject(6200),
                Maximum            = NSObject.FromObject(8800),
                Interval           = NSObject.FromObject(200),
                ShowMajorGridLines = false
            };
            chart.SecondaryAxis.Title.Text      = new NSString("Revenue");
            chart.Legend.Visible                = true;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.ItemMargin             = new UIEdgeInsets(0, 0, 50, 20);
            MultipleAxisDataSource dataModel = new MultipleAxisDataSource();

            chart.DataSource = dataModel as SFChartDataSource;
            this.control     = chart;
        }
Example #45
0
        public Scatter()
        {
            SFChart chart = new SFChart();

            chart.ColorModel.Palette = SFChartColorPalette.Natural;
            chart.Title.Text         = new NSString("World Countries Details");
            SFNumericalAxis primary = new SFNumericalAxis();

            primary.ShowMajorGridLines   = false;
            chart.PrimaryAxis            = primary;
            chart.PrimaryAxis.Title.Text = new NSString("Literacy Rate");

            SFNumericalAxis secondary = new SFNumericalAxis();

            secondary.Title.Text         = new NSString("GDP Growth Rate");
            secondary.ShowMajorGridLines = false;
            secondary.Minimum            = new NSNumber(-500);
            secondary.Maximum            = new NSNumber(700);
            chart.SecondaryAxis          = secondary;
            ChartViewModel dataModel = new ChartViewModel();

            SFScatterSeries series = new SFScatterSeries();

            series.ItemsSource     = dataModel.ScatterData;
            series.XBindingPath    = "XValue";
            series.YBindingPath    = "YValue";
            series.EnableTooltip   = true;
            series.ScatterHeight   = 5;
            series.ScatterWidth    = 5;
            series.Alpha           = 0.7f;
            series.EnableAnimation = true;
            chart.Series.Add(series);

            chart.AddChartBehavior(new SFChartZoomPanBehavior());
            this.AddSubview(chart);
        }
Example #46
0
        public CategoryAxis()
        {
            SFChart chart = new SFChart();

            chart.Title.Text = new NSString("Internet Users - 2016");
            SFCategoryAxis categoryAxis = new SFCategoryAxis();

            categoryAxis.LabelPlacement     = SFChartLabelPlacement.BetweenTicks;
            categoryAxis.ShowMajorGridLines = false;
            chart.PrimaryAxis            = categoryAxis;
            chart.PrimaryAxis.Interval   = new NSNumber(1);
            chart.PrimaryAxis.Title.Text = new NSString("Country");

            chart.SecondaryAxis                    = new SFNumericalAxis();
            chart.SecondaryAxis.Title.Text         = new NSString("Usage (%)");
            chart.SecondaryAxis.Minimum            = new NSNumber(0);
            chart.SecondaryAxis.Maximum            = new NSNumber(100);
            chart.SecondaryAxis.Interval           = new NSNumber(10);
            chart.SecondaryAxis.Visible            = false;
            chart.SecondaryAxis.ShowMajorGridLines = false;
            chart.SecondaryAxis.ShowMinorGridLines = false;

            ChartViewModel dataModel = new ChartViewModel();

            SFColumnSeries series = new SFColumnSeries();

            series.ItemsSource        = dataModel.CategoryData;
            series.XBindingPath       = "XValue";
            series.YBindingPath       = "YValue";
            series.EnableTooltip      = true;
            series.EnableAnimation    = true;
            series.ColorModel.Palette = SFChartColorPalette.Natural;
            chart.Series.Add(series);

            this.AddSubview(chart);
        }
Example #47
0
        public Radar()
        {
            SFChart chart = new SFChart();

            chart.Title.Text         = new NSString("Average Sales Comparison");
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            chart.Title.TextAlignment = UITextAlignment.Center;
            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            chart.PrimaryAxis = primaryAxis;
            SFNumericalAxis secondaryAxis = new SFNumericalAxis();

            secondaryAxis.Interval = new NSNumber(1);
            chart.SecondaryAxis    = secondaryAxis;
            NSNumberFormatter formatter = new NSNumberFormatter();

            formatter.PositiveSuffix = "M";
            chart.SecondaryAxis.LabelStyle.LabelFormatter = formatter;
            ChartViewModel dataModel = new ChartViewModel();

            SFRadarSeries series1 = new SFRadarSeries();

            series1.ItemsSource     = dataModel.PolarData1;
            series1.XBindingPath    = "XValue";
            series1.YBindingPath    = "YValue";
            series1.EnableTooltip   = true;
            series1.Alpha           = 0.5f;
            series1.Label           = "Product A";
            series1.EnableAnimation = true;
            chart.Series.Add(series1);

            SFRadarSeries series2 = new SFRadarSeries();

            series2.ItemsSource     = dataModel.PolarData2;
            series2.XBindingPath    = "XValue";
            series2.YBindingPath    = "YValue";
            series2.EnableTooltip   = true;
            series2.Alpha           = 0.5f;
            series2.Label           = "Product B";
            series2.EnableAnimation = true;
            chart.Series.Add(series2);

            SFRadarSeries series3 = new SFRadarSeries();

            series3.ItemsSource     = dataModel.PolarData3;
            series3.XBindingPath    = "XValue";
            series3.YBindingPath    = "YValue";
            series3.EnableTooltip   = true;
            series3.Alpha           = 0.5f;
            series3.Label           = "Product C";
            series3.EnableAnimation = true;
            chart.Series.Add(series3);

            chart.Legend.Visible                = true;
            chart.Legend.IconWidth              = 14;
            chart.Legend.IconHeight             = 14;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.DockPosition           = SFChartLegendPosition.Bottom;
            this.AddSubview(chart);
        }
Example #48
0
        public Line()
        {
            SFChart chart = new SFChart();

            chart.Title.Text         = new NSString("Inflation - Consumer Price");
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.ShowMajorGridLines = false;
            primaryAxis.PlotOffset         = 10;
            primaryAxis.AxisLineOffset     = 10;
            chart.PrimaryAxis = primaryAxis;
            SFNumericalAxis secondaryAxis = new SFNumericalAxis();

            secondaryAxis.Minimum  = new NSNumber(0);
            secondaryAxis.Maximum  = new NSNumber(100);
            secondaryAxis.Interval = new NSNumber(20);
            secondaryAxis.MajorTickStyle.LineSize = 0;
            secondaryAxis.AxisLineStyle.LineWidth = 0;
            chart.SecondaryAxis = secondaryAxis;
            ChartViewModel dataModel = new ChartViewModel();

            SFLineSeries series1 = new SFLineSeries();

            series1.ItemsSource                  = dataModel.LineData1;
            series1.XBindingPath                 = "XValue";
            series1.YBindingPath                 = "YValue";
            series1.EnableTooltip                = true;
            series1.Label                        = "Germany";
            series1.EnableAnimation              = true;
            series1.DataMarker.ShowMarker        = true;
            series1.DataMarker.MarkerColor       = UIColor.White;
            series1.DataMarker.MarkerBorderColor = UIColor.FromRGBA(0.0f / 255.0f, 189.0f / 255.0f, 174.0f / 255.0f, 1.0f);
            series1.DataMarker.MarkerBorderWidth = 2;
            series1.DataMarker.MarkerWidth       = 10f;
            series1.DataMarker.MarkerHeight      = 10f;
            chart.Series.Add(series1);

            SFLineSeries series2 = new SFLineSeries();

            series2.ItemsSource                  = dataModel.LineData2;
            series2.XBindingPath                 = "XValue";
            series2.YBindingPath                 = "YValue";
            series2.EnableTooltip                = true;
            series2.Label                        = "England";
            series2.EnableAnimation              = true;
            series2.DataMarker.ShowMarker        = true;
            series2.DataMarker.ShowMarker        = true;
            series2.DataMarker.MarkerColor       = UIColor.White;
            series2.DataMarker.MarkerBorderColor = UIColor.FromRGBA(64.0f / 255.0f, 64.0f / 255.0f, 65.0f / 255.0f, 1.0f);
            series2.DataMarker.MarkerBorderWidth = 2;
            series2.DataMarker.MarkerWidth       = 10f;
            series2.DataMarker.MarkerHeight      = 10f;
            chart.Series.Add(series2);

            chart.Legend.Visible = true;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.IconWidth    = 14;
            chart.Legend.IconHeight   = 14;
            chart.Legend.DockPosition = SFChartLegendPosition.Bottom;
            chart.Delegate            = new AxisLabelFormatter();

            this.AddSubview(chart);
        }
Example #49
0
 public override nint GetNumberOfDataPoints(SFChart chart, nint index)
 {
     return((int)DataPoints.Count);           //No of datapoints needed for each series.
 }
Example #50
0
 public override SFChartDataPoint GetDataPoint(SFChart chart, nint index, nint seriesIndex)
 {
     return(DataPoints.GetItem <SFChartDataPoint> ((nuint)index));          //returns the datapoint for each series.
 }
Example #51
0
        public Trackball()
        {
            SFChart chart = new SFChart();

            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.AxisLineOffset     = 2;
            primaryAxis.PlotOffset         = 5;
            primaryAxis.ShowMajorGridLines = false;
            chart.PrimaryAxis = primaryAxis;

            SFNumericalAxis secondaryAxis = new SFNumericalAxis();

            secondaryAxis.MajorTickStyle.LineSize = 0;
            secondaryAxis.AxisLineStyle.LineWidth = 0;
            secondaryAxis.Minimum = new NSNumber(25);
            secondaryAxis.Maximum = new NSNumber(50);
            chart.SecondaryAxis   = secondaryAxis;
            ChartViewModel dataModel = new ChartViewModel();

            SFLineSeries series1 = new SFLineSeries();

            series1.ItemsSource  = dataModel.LineSeries1;
            series1.XBindingPath = "XValue";
            series1.YBindingPath = "YValue";
            series1.Label        = "Germany";
            series1.LineWidth    = 3;
            chart.Series.Add(series1);

            SFLineSeries series2 = new SFLineSeries();

            series2.ItemsSource  = dataModel.LineSeries2;
            series2.XBindingPath = "XValue";
            series2.YBindingPath = "YValue";
            series2.Label        = "England";
            series2.LineWidth    = 3;
            chart.Series.Add(series2);

            SFLineSeries series3 = new SFLineSeries();

            series3.ItemsSource  = dataModel.LineSeries3;
            series3.XBindingPath = "XValue";
            series3.YBindingPath = "YValue";
            series3.Label        = "France";
            series3.LineWidth    = 3;
            chart.Series.Add(series3);

            label               = new UILabel();
            label.Text          = "Press and hold to enable trackball";
            label.Font          = UIFont.FromName("Helvetica", 12f);
            label.TextAlignment = UITextAlignment.Center;
            label.LineBreakMode = UILineBreakMode.WordWrap;
            label.Lines         = 2;

            label.BackgroundColor = UIColor.FromRGB(249, 249, 249);
            label.TextColor       = UIColor.FromRGB(79, 86, 91);

            CALayer topLine = new CALayer();

            topLine.Frame           = new CGRect(0, 0, UIScreen.MainScreen.ApplicationFrame.Width, 0.5);
            topLine.BackgroundColor = UIColor.FromRGB(178, 178, 178).CGColor;
            label.Layer.AddSublayer(topLine);

            chart.Legend.Visible                = true;
            chart.Legend.IconWidth              = 14;
            chart.Legend.IconHeight             = 14;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.DockPosition           = SFChartLegendPosition.Bottom;

            chart.AddChartBehavior(new SFChartTrackballBehavior());

            this.AddSubview(chart);
            this.AddSubview(label);
        }
Example #52
0
        public GradientChart()
        {
            SFChart chart = new SFChart();

            chart.Title.Text = (NSString)"Oxygen Level";

            chart.ColorModel.Palette = SFChartColorPalette.Custom;
            ChartGradientColor gradientColor = new ChartGradientColor()
            {
                StartPoint = new CGPoint(0.5f, 1), EndPoint = new CGPoint(0.5f, 0)
            };
            ChartGradientStop stopColor1 = new ChartGradientStop()
            {
                Color = UIColor.White, Offset = 0
            };
            ChartGradientStop stopColor2 = new ChartGradientStop()
            {
                Color = UIColor.FromRGBA(0, 128f / 255f, 223f / 255f, 1.0f), Offset = 1
            };

            gradientColor.GradientStops.Add(stopColor1);
            gradientColor.GradientStops.Add(stopColor2);

            ChartGradientColorCollection gradientColorsCollection = new ChartGradientColorCollection()
            {
                gradientColor
            };

            chart.ColorModel.CustomGradientColors = gradientColorsCollection;

            chart.PrimaryAxis = new SFDateTimeAxis()
            {
                PlotOffset = 6, EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift, ShowMajorGridLines = false, ShowMinorGridLines = false
            };

            NSDateFormatter formatter = new NSDateFormatter();

            formatter.DateFormat = new NSString("MMM dd");
            chart.PrimaryAxis.LabelStyle.LabelFormatter = formatter;

            chart.SecondaryAxis = new SFNumericalAxis
            {
                Maximum  = new NSNumber(50),
                Interval = new NSNumber(5)
            };
            NSNumberFormatter secondaryAxisFormatter = new NSNumberFormatter();

            secondaryAxisFormatter.PositiveSuffix         = "%";
            chart.SecondaryAxis.LabelStyle.LabelFormatter = secondaryAxisFormatter;

            ChartViewModel dataModel = new ChartViewModel();

            SFSplineAreaSeries series = new SFSplineAreaSeries();

            series.ItemsSource                           = dataModel.GradientData;
            series.XBindingPath                          = "XValue";
            series.YBindingPath                          = "YValue";
            series.BorderColor                           = UIColor.FromRGBA(0, 128f / 255f, 223f / 255f, 1.0f);
            series.BorderWidth                           = 2;
            series.DataMarker.ShowLabel                  = true;
            series.DataMarker.MarkerWidth                = 8;
            series.DataMarker.MarkerHeight               = 8;
            series.DataMarker.MarkerColor                = UIColor.White;
            series.DataMarker.MarkerBorderColor          = UIColor.FromRGBA(0, 128f / 255f, 223f / 255f, 1.0f);
            series.DataMarker.MarkerBorderWidth          = 2;
            series.DataMarker.ShowMarker                 = true;
            series.DataMarker.LabelStyle.OffsetY         = -10;
            series.DataMarker.LabelStyle.BackgroundColor = UIColor.FromRGBA(0, 128f / 255f, 223f / 255f, 1.0f);
            NSNumberFormatter dataMarkerFormatter = new NSNumberFormatter();

            dataMarkerFormatter.PositiveSuffix          = "%";
            series.DataMarker.LabelStyle.LabelFormatter = dataMarkerFormatter;
            chart.Series.Add(series);

            this.AddSubview(chart);
        }
Example #53
0
        public Area()
        {
            SFChart chart = new SFChart();

            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            chart.Title.Text          = new NSString("Average Sales Comparison");
            chart.Title.TextAlignment = UITextAlignment.Center;
            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            chart.PrimaryAxis      = primaryAxis;
            primaryAxis.Title.Text = new NSString("Year");
            SFNumericalAxis secondaryAxis = new SFNumericalAxis();

            chart.SecondaryAxis      = secondaryAxis;
            secondaryAxis.Title.Text = new NSString("Sales Amount in Millions");
            secondaryAxis.Minimum    = new NSNumber(2);
            secondaryAxis.Maximum    = new NSNumber(5);
            secondaryAxis.Interval   = new NSNumber(0.5);
            ChartViewModel dataModel = new ChartViewModel();

            SFAreaSeries series1 = new SFAreaSeries();

            series1.ItemsSource     = dataModel.AreaData1;
            series1.XBindingPath    = "XValue";
            series1.YBindingPath    = "YValue";
            series1.EnableTooltip   = true;
            series1.Alpha           = 0.5f;
            series1.Label           = "ProductA";
            series1.EnableAnimation = true;
            chart.Series.Add(series1);

            SFAreaSeries series2 = new SFAreaSeries();

            series2.ItemsSource     = dataModel.AreaData2;
            series2.XBindingPath    = "XValue";
            series2.YBindingPath    = "YValue";
            series2.EnableTooltip   = true;
            series2.Alpha           = 0.5f;
            series2.Label           = "ProductB";
            series2.EnableAnimation = true;
            chart.Series.Add(series2);

            SFAreaSeries series3 = new SFAreaSeries();

            series3.ItemsSource     = dataModel.AreaData3;
            series3.XBindingPath    = "XValue";
            series3.YBindingPath    = "YValue";
            series3.EnableTooltip   = true;
            series3.Alpha           = 0.5f;
            series3.Label           = "ProductC";
            series3.EnableAnimation = true;
            chart.Series.Add(series3);

            chart.Legend.Visible = true;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.IconWidth    = 14;
            chart.Legend.IconHeight   = 14;
            chart.Legend.DockPosition = SFChartLegendPosition.Bottom;
            chart.AddChartBehavior(new SFChartZoomPanBehavior());
            this.AddSubview(chart);
        }
Example #54
0
        public StackingLine100()
        {
            SFChart chart = new SFChart();

            chart.Title.Text         = new NSString("Monthly expense of a family");
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.ShowMajorGridLines    = false;
            primaryAxis.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift;
            primaryAxis.LabelPlacement        = SFChartLabelPlacement.BetweenTicks;
            chart.PrimaryAxis              = primaryAxis;
            chart.SecondaryAxis            = new SFNumericalAxis();
            chart.SecondaryAxis.PlotOffset = 10;
            chart.SecondaryAxis.Interval   = new NSNumber(10);
            chart.SecondaryAxis.Minimum    = new NSNumber(0);
            chart.SecondaryAxis.Maximum    = new NSNumber(100);
            chart.SecondaryAxis.AxisLineStyle.LineWidth = 0;
            chart.SecondaryAxis.MajorTickStyle.LineSize = 0;
            NSNumberFormatter formatter = new NSNumberFormatter();

            formatter.PositiveSuffix = "%";
            chart.SecondaryAxis.LabelStyle.LabelFormatter = formatter;
            ChartViewModel dataModel = new ChartViewModel();

            SFStackingLine100Series series1 = new SFStackingLine100Series();

            series1.LineWidth                    = 2;
            series1.ItemsSource                  = dataModel.StackedLine100Data1;
            series1.XBindingPath                 = "XValue";
            series1.YBindingPath                 = "YValue";
            series1.DataMarker.ShowMarker        = true;
            series1.DataMarker.MarkerColor       = UIColor.White;
            series1.DataMarker.MarkerBorderColor = UIColor.FromRGBA(0.0f / 255.0f, 189.0f / 255.0f, 174.0f / 255.0f, 1.0f);
            series1.DataMarker.MarkerBorderWidth = 2;
            series1.DataMarker.MarkerWidth       = 10f;
            series1.DataMarker.MarkerHeight      = 10f;
            series1.LegendIcon                   = SFChartLegendIcon.SeriesType;
            series1.EnableTooltip                = true;
            series1.Label           = "Daughter";
            series1.EnableAnimation = true;
            chart.Series.Add(series1);

            SFStackingLine100Series series2 = new SFStackingLine100Series();

            series2.LineWidth                    = 2;
            series2.ItemsSource                  = dataModel.StackedLine100Data2;
            series2.XBindingPath                 = "XValue";
            series2.YBindingPath                 = "YValue";
            series2.DataMarker.ShowMarker        = true;
            series2.DataMarker.MarkerColor       = UIColor.White;
            series2.DataMarker.MarkerBorderColor = UIColor.FromRGBA(64.0f / 255.0f, 64.0f / 255.0f, 65.0f / 255.0f, 1.0f);
            series2.DataMarker.MarkerBorderWidth = 2;
            series2.DataMarker.MarkerWidth       = 10f;
            series2.DataMarker.MarkerHeight      = 10f;
            series2.LegendIcon                   = SFChartLegendIcon.SeriesType;
            series2.EnableTooltip                = true;
            series2.Label           = "Son";
            series2.EnableAnimation = true;
            chart.Series.Add(series2);

            SFStackingLine100Series series3 = new SFStackingLine100Series();

            series3.LineWidth                    = 2;
            series3.ItemsSource                  = dataModel.StackedLine100Data3;
            series3.XBindingPath                 = "XValue";
            series3.YBindingPath                 = "YValue";
            series3.DataMarker.ShowMarker        = true;
            series3.DataMarker.MarkerColor       = UIColor.White;
            series3.DataMarker.MarkerBorderColor = UIColor.FromRGBA(53.0f / 255.0f, 124.0f / 255.0f, 210.0f / 255.0f, 1.0f);
            series3.DataMarker.MarkerBorderWidth = 2;
            series3.DataMarker.MarkerWidth       = 10f;
            series3.DataMarker.MarkerHeight      = 10f;
            series3.LegendIcon                   = SFChartLegendIcon.SeriesType;
            series3.EnableTooltip                = true;
            series3.Label           = "Mother";
            series3.EnableAnimation = true;
            chart.Series.Add(series3);

            SFStackingLine100Series series4 = new SFStackingLine100Series();

            series4.LineWidth                    = 2;
            series4.ItemsSource                  = dataModel.StackedLine100Data4;
            series4.XBindingPath                 = "XValue";
            series4.YBindingPath                 = "YValue";
            series4.DataMarker.ShowMarker        = true;
            series4.DataMarker.MarkerColor       = UIColor.White;
            series4.DataMarker.MarkerBorderColor = UIColor.FromRGBA(229.0f / 255.0f, 101.0f / 255.0f, 144.0f / 255.0f, 1.0f);
            series4.DataMarker.MarkerBorderWidth = 2;
            series4.DataMarker.MarkerWidth       = 10f;
            series4.DataMarker.MarkerHeight      = 10f;
            series4.LegendIcon                   = SFChartLegendIcon.SeriesType;
            series4.EnableTooltip                = true;
            series4.Label           = "Father";
            series4.EnableAnimation = true;
            chart.Series.Add(series4);

            chart.Legend.Visible = true;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.IconWidth    = 14;
            chart.Legend.IconHeight   = 14;
            chart.Legend.DockPosition = SFChartLegendPosition.Bottom;

            this.AddSubview(chart);
        }
Example #55
0
        public StackedColumn()
        {
            SFChart chart = new SFChart();

            chart.Title.Text         = new NSString("Mobile Game Market by Country");
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.LabelPlacement          = SFChartLabelPlacement.BetweenTicks;
            primaryAxis.ShowMajorGridLines      = false;
            primaryAxis.MajorTickStyle.LineSize = 0;
            chart.PrimaryAxis              = primaryAxis;
            chart.SecondaryAxis            = new SFNumericalAxis();
            chart.SecondaryAxis.Title.Text = new NSString("Sales");
            chart.SecondaryAxis.Maximum    = new NSNumber(500);
            chart.SecondaryAxis.Minimum    = new NSNumber(0);
            chart.SecondaryAxis.Interval   = new NSNumber(100);
            chart.SecondaryAxis.AxisLineStyle.LineWidth = 0;
            chart.SecondaryAxis.MajorTickStyle.LineSize = 0;
            NSNumberFormatter formatter = new NSNumberFormatter();

            formatter.PositiveSuffix = "B";
            chart.SecondaryAxis.LabelStyle.LabelFormatter = formatter;
            ChartViewModel dataModel = new ChartViewModel();

            SFStackingColumnSeries series1 = new SFStackingColumnSeries();

            series1.ItemsSource     = dataModel.StackedColumnData1;
            series1.XBindingPath    = "XValue";
            series1.YBindingPath    = "YValue";
            series1.EnableTooltip   = true;
            series1.Label           = "UK";
            series1.EnableAnimation = true;
            chart.Series.Add(series1);

            SFStackingColumnSeries series2 = new SFStackingColumnSeries();

            series2.ItemsSource     = dataModel.StackedColumnData2;
            series2.XBindingPath    = "XValue";
            series2.YBindingPath    = "YValue";
            series2.EnableTooltip   = true;
            series2.Label           = "Germany";
            series2.EnableAnimation = true;
            chart.Series.Add(series2);

            SFStackingColumnSeries series3 = new SFStackingColumnSeries();

            series3.ItemsSource     = dataModel.StackedColumnData3;
            series3.XBindingPath    = "XValue";
            series3.YBindingPath    = "YValue";
            series3.EnableTooltip   = true;
            series3.Label           = "France";
            series3.EnableAnimation = true;
            chart.Series.Add(series3);

            SFStackingColumnSeries series4 = new SFStackingColumnSeries();

            series4.ItemsSource     = dataModel.StackedColumnData4;
            series4.XBindingPath    = "XValue";
            series4.YBindingPath    = "YValue";
            series4.EnableTooltip   = true;
            series4.Label           = "Italy";
            series4.EnableAnimation = true;
            chart.Series.Add(series4);

            chart.Legend.Visible = true;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.IconWidth    = 14;
            chart.Legend.IconHeight   = 14;
            chart.Legend.DockPosition = SFChartLegendPosition.Bottom;

            this.AddSubview(chart);
        }
        public StackingArea100()
        {
            SFChart chart = new SFChart();

            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            chart.Title.Text = new NSString("Trend in Sales of Ethical Produce");
            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.ShowMajorGridLines    = false;
            primaryAxis.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift;
            chart.PrimaryAxis                           = primaryAxis;
            chart.SecondaryAxis                         = new SFNumericalAxis();
            chart.SecondaryAxis.Title.Text              = new NSString("Spends");
            chart.SecondaryAxis.ShowMajorGridLines      = false;
            chart.SecondaryAxis.AxisLineStyle.LineWidth = 0;
            chart.SecondaryAxis.MajorTickStyle.LineSize = 0;
            chart.SecondaryAxis.Minimum                 = new NSNumber(0);
            chart.SecondaryAxis.Maximum                 = new NSNumber(100);
            chart.SecondaryAxis.Interval                = new NSNumber(10);
            NSNumberFormatter formatter = new NSNumberFormatter();

            formatter.PositiveSuffix = "%";
            chart.SecondaryAxis.LabelStyle.LabelFormatter = formatter;
            ChartViewModel dataModel = new ChartViewModel();

            SFStackingArea100Series series1 = new SFStackingArea100Series();

            series1.ItemsSource     = dataModel.StackedArea100Data1;
            series1.XBindingPath    = "XValue";
            series1.YBindingPath    = "YValue";
            series1.EnableTooltip   = true;
            series1.Label           = "Organic";
            series1.LegendIcon      = SFChartLegendIcon.SeriesType;
            series1.EnableAnimation = true;
            chart.Series.Add(series1);

            SFStackingArea100Series series2 = new SFStackingArea100Series();

            series2.ItemsSource     = dataModel.StackedArea100Data2;
            series2.XBindingPath    = "XValue";
            series2.YBindingPath    = "YValue";
            series2.EnableTooltip   = true;
            series2.Label           = "Fair-trade";
            series2.LegendIcon      = SFChartLegendIcon.SeriesType;
            series2.EnableAnimation = true;
            chart.Series.Add(series2);

            SFStackingArea100Series series3 = new SFStackingArea100Series();

            series3.ItemsSource     = dataModel.StackedArea100Data3;
            series3.XBindingPath    = "XValue";
            series3.YBindingPath    = "YValue";
            series3.EnableTooltip   = true;
            series3.Label           = "Veg Alternatives";
            series3.LegendIcon      = SFChartLegendIcon.SeriesType;
            series3.EnableAnimation = true;
            chart.Series.Add(series3);

            SFStackingArea100Series series4 = new SFStackingArea100Series();

            series4.ItemsSource     = dataModel.StackedArea100Data4;
            series4.XBindingPath    = "XValue";
            series4.YBindingPath    = "YValue";
            series4.EnableTooltip   = true;
            series4.Label           = "Others";
            series4.LegendIcon      = SFChartLegendIcon.SeriesType;
            series4.EnableAnimation = true;
            chart.Series.Add(series4);

            chart.Legend.Visible = true;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.IconWidth    = 14;
            chart.Legend.IconHeight   = 14;
            chart.Legend.DockPosition = SFChartLegendPosition.Bottom;
            this.AddSubview(chart);
        }
Example #57
0
        public StackingBar100()
        {
            SFChart chart = new SFChart();

            chart.Title.Text         = new NSString("Sales by Year");
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.Title.Text         = new NSString("Year");
            chart.PrimaryAxis              = primaryAxis;
            chart.SecondaryAxis            = new SFNumericalAxis();
            chart.SecondaryAxis.Title.Text = new NSString("Sales Percentage (%)");
            ChartViewModel dataModel = new ChartViewModel();

            SFStackingBar100Series series1 = new SFStackingBar100Series();

            series1.ItemsSource     = dataModel.StackedBar100Data1;
            series1.XBindingPath    = "XValue";
            series1.YBindingPath    = "YValue";
            series1.EnableTooltip   = true;
            series1.Label           = "John";
            series1.EnableAnimation = true;
            chart.Series.Add(series1);

            SFStackingBar100Series series2 = new SFStackingBar100Series();

            series2.ItemsSource     = dataModel.StackedBar100Data2;
            series2.XBindingPath    = "XValue";
            series2.YBindingPath    = "YValue";
            series2.EnableTooltip   = true;
            series2.Label           = "Andrew";
            series2.EnableAnimation = true;
            chart.Series.Add(series2);

            SFStackingBar100Series series3 = new SFStackingBar100Series();

            series3.ItemsSource     = dataModel.StackedBar100Data3;
            series3.XBindingPath    = "XValue";
            series3.YBindingPath    = "YValue";
            series3.EnableTooltip   = true;
            series3.Label           = "Thomas";
            series3.EnableAnimation = true;
            chart.Series.Add(series3);

            SFStackingBar100Series series4 = new SFStackingBar100Series();

            series4.ItemsSource     = dataModel.StackedBar100Data4;
            series4.XBindingPath    = "XValue";
            series4.YBindingPath    = "YValue";
            series4.EnableTooltip   = true;
            series4.Label           = "Henry";
            series4.EnableAnimation = true;
            chart.Series.Add(series4);

            chart.Legend.Visible = true;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.IconWidth    = 14;
            chart.Legend.IconHeight   = 14;
            chart.Legend.DockPosition = SFChartLegendPosition.Bottom;
            chart.AddChartBehavior(new SFChartZoomPanBehavior());

            this.AddSubview(chart);
        }
Example #58
0
 public override nint NumberOfSeriesInChart(SFChart chart)
 {
     return(1);
 }
Example #59
0
        public Spline()
        {
            SFChart chart = new SFChart();

            chart.Title.Text         = new NSString("NC Weather Report");
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            chart.PrimaryAxis              = primaryAxis;
            primaryAxis.LabelPlacement     = SFChartLabelPlacement.BetweenTicks;
            primaryAxis.ShowMajorGridLines = false;
            chart.SecondaryAxis            = new SFNumericalAxis();
            chart.SecondaryAxis.Minimum    = new NSNumber(0);
            chart.SecondaryAxis.Maximum    = new NSNumber(40);
            chart.SecondaryAxis.Interval   = new NSNumber(10);
            chart.SecondaryAxis.AxisLineStyle.LineWidth = 0;
            chart.SecondaryAxis.MajorTickStyle.LineSize = 0;
            NSNumberFormatter formatter = new NSNumberFormatter();

            formatter.PositiveSuffix = "°C";
            chart.SecondaryAxis.LabelStyle.LabelFormatter = formatter;
            ChartViewModel dataModel = new ChartViewModel();

            SFSplineSeries series1 = new SFSplineSeries();

            series1.ItemsSource                  = dataModel.SplineData1;
            series1.XBindingPath                 = "XValue";
            series1.YBindingPath                 = "YValue";
            series1.EnableTooltip                = true;
            series1.DataMarker.ShowMarker        = true;
            series1.DataMarker.MarkerHeight      = 10;
            series1.DataMarker.MarkerWidth       = 10;
            series1.DataMarker.MarkerBorderColor = UIColor.FromRGBA(0.0f / 255.0f, 189.0f / 255.0f, 174.0f / 255.0f, 1.0f);
            series1.DataMarker.MarkerBorderWidth = 2;
            series1.DataMarker.MarkerColor       = UIColor.White;
            series1.Label           = "Max Temp";
            series1.EnableAnimation = true;
            series1.LegendIcon      = SFChartLegendIcon.SeriesType;
            chart.Series.Add(series1);

            SFSplineSeries series2 = new SFSplineSeries();

            series2.ItemsSource                  = dataModel.SplineData2;
            series2.XBindingPath                 = "XValue";
            series2.YBindingPath                 = "YValue";
            series2.EnableTooltip                = true;
            series2.DataMarker.MarkerHeight      = 10;
            series2.DataMarker.MarkerWidth       = 10;
            series2.DataMarker.ShowMarker        = true;
            series2.DataMarker.MarkerBorderColor = UIColor.FromRGBA(64.0f / 255.0f, 64.0f / 255.0f, 65.0f / 255.0f, 1.0f);
            series2.DataMarker.MarkerBorderWidth = 2;
            series2.DataMarker.MarkerColor       = UIColor.White;
            series2.Label           = "Avg Temp";
            series2.EnableAnimation = true;
            series2.LegendIcon      = SFChartLegendIcon.SeriesType;
            chart.Series.Add(series2);

            SFSplineSeries series3 = new SFSplineSeries();

            series3.ItemsSource                  = dataModel.SplineData3;
            series3.XBindingPath                 = "XValue";
            series3.YBindingPath                 = "YValue";
            series3.EnableTooltip                = true;
            series3.DataMarker.MarkerHeight      = 10;
            series3.DataMarker.MarkerWidth       = 10;
            series3.DataMarker.ShowMarker        = true;
            series3.DataMarker.MarkerBorderColor = UIColor.FromRGBA(53.0f / 255.0f, 124.0f / 255.0f, 210.0f / 255.0f, 1.0f);
            series3.DataMarker.MarkerBorderWidth = 2;
            series3.DataMarker.MarkerColor       = UIColor.White;
            series3.Label           = "Min Temp";
            series3.EnableAnimation = true;
            series3.LegendIcon      = SFChartLegendIcon.SeriesType;
            chart.Series.Add(series3);

            chart.Legend.Visible = true;
            chart.Legend.ToggleSeriesVisibility = true;
            chart.Legend.IconWidth    = 14;
            chart.Legend.IconHeight   = 14;
            chart.Legend.DockPosition = SFChartLegendPosition.Bottom;
            this.AddSubview(chart);
        }
        public TechnicalIndicators()
        {
            indicatorTypePicker = new UIPickerView();

            indicatorTypeTextButton = new UIButton();
            doneButton             = new UIButton();
            indicator              = new SFSMAIndicator();
            indicator.SeriesName   = new NSString("Hi-Low");
            indicator.XBindingPath = "XValue";
            indicator.High         = "High";
            indicator.Low          = "Low";
            indicator.Open         = "Open";
            indicator.Close        = "Close";

            SFNumericalAxis axis = new SFNumericalAxis();

            axis.OpposedPosition    = true;
            axis.ShowMajorGridLines = false;
            indicator.YAxis         = axis;

            indicatorCollection = new NSMutableArray();
            indicatorCollection.Add(indicator);

            chart                     = new SFChart();
            chart.Title.Text          = new NSString("StockDetails");
            chart.Title.TextAlignment = UITextAlignment.Center;

            SFDateTimeAxis datetime = new SFDateTimeAxis();

            datetime.MaximumLabels         = 6;
            datetime.LabelsIntersectAction = SFChartAxisLabelsIntersectAction.Hide;
            chart.PrimaryAxis   = datetime;
            datetime.Title.Text = new NSString("Date");
            chart.SecondaryAxis = new SFNumericalAxis();

            SFChartTrackballBehavior behavior = new SFChartTrackballBehavior();

            chart.AddChartBehavior(behavior);
            chart.TechnicalIndicators.Add(indicator);

            ChartViewModel dataModel = new ChartViewModel();
            SFOHLCSeries   series    = new SFOHLCSeries();

            series.ItemsSource        = dataModel.TechnicalIndicatorData;
            series.XBindingPath       = "XValue";
            series.High               = "High";
            series.Low                = "Low";
            series.Open               = "Open";
            series.Close              = "Close";
            series.EnableTooltip      = true;
            series.LineWidth          = 1;
            series.SeriesName         = new NSString("Hi-Low");
            series.ColorModel.Palette = SFChartColorPalette.Natural;
            chart.Series.Add(series);

            this.AddSubview(chart);

            indicatorTypeTextButton.SetTitle("SMA indicator", UIControlState.Normal);
            indicatorTypeTextButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
            indicatorTypeTextButton.SetTitleColor(UIColor.Black, UIControlState.Normal);
            indicatorTypeTextButton.TouchUpInside += delegate
            {
                indicatorTypePicker.Hidden = false;
                doneButton.Hidden          = false;
                this.BecomeFirstResponder();
            };
            indicatorTypeTextButton.BackgroundColor    = UIColor.Clear;
            indicatorTypeTextButton.Layer.BorderWidth  = 2.0f;
            indicatorTypeTextButton.Layer.BorderColor  = UIColor.FromRGB(240.0f / 255.0f, 240.0f / 255.0f, 240.0f / 255.0f).CGColor;
            indicatorTypeTextButton.Layer.CornerRadius = 8.0f;
            this.AddSubview(indicatorTypeTextButton);

            indicatorTypePicker.ShowSelectionIndicator = true;
            indicatorTypePicker.Hidden = true;

            indicatorTypePicker.Model = new StatusPickerViewModel(chart, indicatorTypeTextButton, indicator, indicatorCollection);

            indicatorTypePicker.BackgroundColor = UIColor.FromRGB(240f / 255.0f, 240f / 255.0f, 240f / 255.0f);
            indicatorTypePicker.SelectedRowInComponent(0);
            this.AddSubview(indicatorTypePicker);

            doneButton.SetTitle("Done" + "\t", UIControlState.Normal);
            doneButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Right;
            doneButton.SetTitleColor(UIColor.Black, UIControlState.Normal);
            doneButton.TouchUpInside += delegate
            {
                indicatorTypePicker.Hidden = true;
                doneButton.Hidden          = true;
                this.BecomeFirstResponder();
            };

            doneButton.BackgroundColor = UIColor.FromRGB(240f / 255.0f, 240f / 255.0f, 240f / 255.0f);
            doneButton.Hidden          = true;
            this.AddSubview(doneButton);
        }