예제 #1
0
		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;
		}
예제 #2
0
        public LiveUpdate()
        {
            chart = new SFChart();
            SFNumericalAxis primaryAxis = new SFNumericalAxis();

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

            secondaryAxis.ShowMajorGridLines = false;
            secondaryAxis.Minimum            = NSObject.FromObject(-1.5);
            secondaryAxis.Maximum            = NSObject.FromObject(1.5);
            secondaryAxis.Interval           = NSObject.FromObject(0.5);
            chart.SecondaryAxis = secondaryAxis;
            dataModel           = new ChartViewModel();

            series              = new SFFastLineSeries();
            series.ItemsSource  = dataModel.liveData1;
            series.XBindingPath = "XValue";
            series.YBindingPath = "YValue";
            chart.Series.Add(series);

            series1              = new SFFastLineSeries();
            series1.ItemsSource  = dataModel.liveData2;
            series1.XBindingPath = "XValue";
            series1.YBindingPath = "YValue";
            chart.Series.Add(series1);
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            this.AddSubview(chart);
            UpdateData();
        }
예제 #3
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;

            SFNumericalAxis primaryAxis = new SFNumericalAxis();

            primaryAxis.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift;
            primaryAxis.Minimum            = new NSNumber(2000);
            primaryAxis.Maximum            = new NSNumber(2005);
            primaryAxis.Interval           = new NSNumber(1);
            primaryAxis.ShowMajorGridLines = false;
            chart.PrimaryAxis = primaryAxis;

            SFNumericalAxis secondaryAxis = new SFNumericalAxis();

            chart.SecondaryAxis      = secondaryAxis;
            secondaryAxis.Minimum    = new NSNumber(2);
            secondaryAxis.Maximum    = new NSNumber(5);
            secondaryAxis.Interval   = new NSNumber(1);
            secondaryAxis.Title.Text = new NSString("Revenue in Millions");
            secondaryAxis.AxisLineStyle.LineWidth = 0;
            secondaryAxis.MajorTickStyle.LineSize = 0;
            chart.Delegate = new AxisLabelFormatter();
            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           = "Product A";
            series1.EnableAnimation = true;
            series1.LegendIcon      = SFChartLegendIcon.SeriesType;
            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           = "Product B";
            series2.EnableAnimation = true;
            series2.LegendIcon      = SFChartLegendIcon.SeriesType;
            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;
            this.AddSubview(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 ();
		}
예제 #5
0
        public VerticalChart()
        {
            chart = new SFChart();

            SFDateTimeAxis  xAxis     = new SFDateTimeAxis();
            NSDateFormatter formatter = new NSDateFormatter();

            formatter.DateFormat            = new NSString("mm:ss");
            xAxis.LabelStyle.LabelFormatter = formatter;
            xAxis.Title.Text         = new NSString("Time(sec)");
            xAxis.ShowMajorGridLines = false;
            chart.PrimaryAxis        = xAxis;

            SFNumericalAxis yAxis = new SFNumericalAxis();

            yAxis.Minimum            = new NSNumber(-10);
            yAxis.Maximum            = new NSNumber(10);
            yAxis.Interval           = new NSNumber(10);
            yAxis.Title.Text         = new NSString("Velocity(m/s)");
            yAxis.ShowMajorGridLines = false;
            chart.SecondaryAxis      = yAxis;

            chart.Title.Text = new NSString("Seismograph of Japan Earthquake 2011");
            chart.Title.Font = UIFont.FromName("Helvetica neue", 15);

            dataModel        = new ChartVerticalDataModel();
            chart.DataSource = dataModel as ChartVerticalDataModel;

            this.AddSubview(chart);
            UpdateData();
        }
예제 #6
0
        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;
        }
예제 #7
0
        public StepArea()
        {
            SFChart chart = new SFChart();

            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            chart.Title.Text = new NSString("Electricity Production");
            SFNumericalAxis primaryAxis = new SFNumericalAxis();

            primaryAxis.Title.Text              = new NSString("Year");
            primaryAxis.Interval                = new NSNumber(2);
            primaryAxis.EdgeLabelsDrawingMode   = SFChartAxisEdgeLabelsDrawingMode.Shift;
            primaryAxis.ShowMajorGridLines      = false;
            primaryAxis.MajorTickStyle.LineSize = 8;

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

            secondaryAxis.Title.Text = new NSString("Production (Billion as kWh)");
            secondaryAxis.Minimum    = new NSNumber(0);
            secondaryAxis.Maximum    = new NSNumber(600);
            secondaryAxis.Interval   = new NSNumber(100);
            secondaryAxis.AxisLineStyle.LineWidth  = 0;
            secondaryAxis.MajorTickStyle.LineWidth = 0;
            NSNumberFormatter formatter = new NSNumberFormatter();

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

            SFStepAreaSeries series1 = new SFStepAreaSeries();

            series1.ItemsSource     = dataModel.StepAreaData1;
            series1.XBindingPath    = "XValue";
            series1.YBindingPath    = "YValue";
            series1.EnableTooltip   = true;
            series1.Label           = "Renewable";
            series1.EnableAnimation = true;
            series1.LegendIcon      = SFChartLegendIcon.Rectangle;
            chart.Series.Add(series1);

            SFStepAreaSeries series2 = new SFStepAreaSeries();

            series2.ItemsSource     = dataModel.StepAreaData2;
            series2.XBindingPath    = "XValue";
            series2.YBindingPath    = "YValue";
            series2.EnableTooltip   = true;
            series2.Label           = "Non-Renewable";
            series2.EnableAnimation = true;
            series2.LegendIcon      = SFChartLegendIcon.Rectangle;
            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;
            this.AddSubview(chart);
        }
예제 #8
0
        public Polar()
        {
            SFChart chart = new SFChart();

            chart.Title.Text         = new NSString("Plants in Wonderland");
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

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

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

            chart.SecondaryAxis = secondaryAxis;
            ChartViewModel dataModel = new ChartViewModel();

            SFPolarSeries series1 = new SFPolarSeries();

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

            SFPolarSeries series2 = new SFPolarSeries();

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

            SFPolarSeries series3 = new SFPolarSeries();

            series3.ItemsSource     = dataModel.PolarData3;
            series3.XBindingPath    = "XValue";
            series3.YBindingPath    = "YValue";
            series3.EnableTooltip   = true;
            series3.Alpha           = 0.5f;
            series3.Label           = "Tree";
            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);
        }
예제 #9
0
        public Tooltip()
        {
            SFChart chart = new SFChart();

            chart.Title.Text = new NSString("Efficiency of oil power Production");

            //Primary Axis

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.PlotOffset              = 10;
            primaryAxis.ShowMajorGridLines      = false;
            primaryAxis.AxisLineStyle.LineWidth = new NSNumber(0.5);
            primaryAxis.Interval = new NSNumber(2);
            chart.PrimaryAxis    = primaryAxis;

            // Secondary Axis

            SFNumericalAxis secondaryAxis = new SFNumericalAxis();

            secondaryAxis.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift;
            secondaryAxis.Maximum  = new NSNumber(2.701);
            secondaryAxis.Minimum  = new NSNumber(1.5);
            secondaryAxis.Interval = new NSNumber(0.2);
            secondaryAxis.AxisLineStyle.LineWidth = new NSNumber(0);
            secondaryAxis.LabelStyle.Font         = UIFont.FromName("Helvetica", 12f);
            secondaryAxis.Title.Font = UIFont.FromName("Helvetica", 15f);
            secondaryAxis.MajorTickStyle.LineSize      = 0;
            secondaryAxis.MajorGridLineStyle.LineWidth = new NSNumber(0.25);
            chart.SecondaryAxis = secondaryAxis;

            ChartViewModel dataModel = new ChartViewModel();

            SFSplineSeries series = new SFSplineSeries();

            series.ItemsSource   = dataModel.TooltipData;
            series.XBindingPath  = "XValue";
            series.YBindingPath  = "YValue";
            series.EnableTooltip = true;
            //series.Color = UIColor.Orange;
            series.LineWidth                    = 2.5f;
            series.DataMarker.ShowMarker        = true;
            series.DataMarker.MarkerType        = SFChartDataMarkerType.Ellipse;
            series.DataMarker.MarkerHeight      = 5;
            series.DataMarker.MarkerWidth       = 5;
            series.DataMarker.MarkerBorderColor = UIColor.Black;
            series.DataMarker.MarkerColor       = UIColor.FromRGBA(193.0f / 255.0f, 39.0f / 255.0f, 45.0f / 255.0f, 1.0f);
            series.EnableAnimation              = true;
            chart.Series.Add(series);
            chart.Delegate = new ChartTooltipDelegate();
            SFChartTooltipBehavior behavior = new SFChartTooltipBehavior();

            behavior.BackgroundColor = UIColor.FromRGBA(193.0f / 255.0f, 39.0f / 255.0f, 45.0f / 255.0f, 1.0f);
            chart.AddChartBehavior(behavior);

            this.AddSubview(chart);
        }
예제 #10
0
        private SFChart GetCurrencyDevationChart()
        {
            var sfchart = new SFChart();

            sfchart.Title.Text = "1 USD to INR from 1977 to 2019";

            sfchart.Legend.Visible      = true;
            sfchart.Legend.DockPosition = SFChartLegendPosition.Top;
            sfchart.Legend.IconHeight   = 14;
            sfchart.Legend.IconWidth    = 14;
            sfchart.ColorModel.Palette  = SFChartColorPalette.Natural;
            sfchart.Delegate            = new AxisLabelFormatter();
            SFNumericalAxis numericalaxis = new SFNumericalAxis();

            numericalaxis.AxisLineStyle.LineWidth  = 0;
            numericalaxis.MajorTickStyle.LineWidth = 0;
            numericalaxis.Title.Text = new Foundation.NSString("Rupees against Dollars");
            sfchart.SecondaryAxis    = numericalaxis;

            SFDateTimeAxis primaryAxis = new SFDateTimeAxis();

            primaryAxis.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift;
            primaryAxis.ShowMajorGridLines    = false;
            primaryAxis.IntervalType          = SFChartDateTimeIntervalType.Years;
            primaryAxis.Interval           = new NSNumber(8);
            primaryAxis.Title.Text         = new Foundation.NSString("Years");
            primaryAxis.ShowMinorGridLines = false;
            sfchart.PrimaryAxis            = primaryAxis;

            splineSeries1 = new SFSplineSeries();
            splineSeries1.XBindingPath = "XValue";
            splineSeries1.YBindingPath = "YValue";
            splineSeries1.ItemsSource  = ChartViewModel.GetTrendlineDataSource1();
            splineSeries1.Label        = "Rupees";
            splineSeries1.LegendIcon   = SFChartLegendIcon.SeriesType;

            splineSeries1.DataMarker.ShowMarker        = true;
            splineSeries1.DataMarker.ShowLabel         = false;
            splineSeries1.DataMarker.MarkerHeight      = 5;
            splineSeries1.DataMarker.MarkerWidth       = 5;
            splineSeries1.DataMarker.MarkerWidth       = 2;
            splineSeries1.DataMarker.MarkerBorderColor = UIColor.FromName("#00bdae");
            splineSeries1.Trendlines = new ChartTrendlineCollection();
            linearTrendline          = new SFChartTrendline()
            {
                Type            = SFTrendlineType.Linear,
                LineColor       = UIColor.FromRGB(201, 23, 97),
                LegendIcon      = SFChartLegendIcon.SeriesType,
                Label           = "Linear",
                PolynomialOrder = 3,
            };

            splineSeries1.Trendlines.Add(linearTrendline);
            sfchart.Series.Add(splineSeries1);

            return(sfchart);
        }
예제 #11
0
 SFRangeAxisBase getYAxis()
 {
     if (_axis == null)
     {
         _axis = new SFNumericalAxis();
         _axis.OpposedPosition    = true;
         _axis.ShowMajorGridLines = false;
     }
     return(_axis);
 }
예제 #12
0
        public StepArea()
        {
            SFChart chart = new SFChart();

            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            chart.Title.Text = new NSString("Electricity Production");
            SFNumericalAxis primaryAxis = new SFNumericalAxis();

            primaryAxis.Title.Text              = new NSString("Year");
            primaryAxis.Interval                = new NSNumber(1);
            primaryAxis.EdgeLabelsDrawingMode   = SFChartAxisEdgeLabelsDrawingMode.Shift;
            primaryAxis.MajorTickStyle.LineSize = 8;

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

            secondaryAxis.Title.Text = new NSString("Production(kWh)");
            secondaryAxis.Minimum    = new NSNumber(0);
            secondaryAxis.Maximum    = new NSNumber(100);
            secondaryAxis.Interval   = new NSNumber(10);
            secondaryAxis.AxisLineStyle.LineWidth  = 0;
            secondaryAxis.MajorTickStyle.LineWidth = 0;

            chart.SecondaryAxis = secondaryAxis;
            ChartViewModel dataModel = new ChartViewModel();

            SFStepAreaSeries series1 = new SFStepAreaSeries();

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

            SFStepAreaSeries series2 = new SFStepAreaSeries();

            series2.ItemsSource     = dataModel.StepAreaData2;
            series2.XBindingPath    = "XValue";
            series2.YBindingPath    = "YValue";
            series2.EnableTooltip   = true;
            series2.Label           = "Company B";
            series2.EnableAnimation = true;
            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.AddChartBehavior(new SFChartZoomPanBehavior());
            this.AddSubview(chart);
        }
예제 #13
0
        public AxisCrossing()
        {
            SFChart chart = new SFChart();

            chart.Title.Text = new NSString("Profit/loss percentage comparison");

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.Interval              = new NSNumber(2);
            primaryAxis.CrossesAt             = 0;
            primaryAxis.PlotOffset            = 7;
            primaryAxis.ShowMajorGridLines    = false;
            primaryAxis.AxisLineOffset        = 7;
            primaryAxis.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Fit;
            primaryAxis.Name               = new NSString("XAxis");
            primaryAxis.CrossingAxisName   = "YAxis";
            primaryAxis.ShowMajorGridLines = false;
            chart.PrimaryAxis              = primaryAxis;

            SFNumericalAxis secondaryAxis = new SFNumericalAxis();

            secondaryAxis.Maximum               = new NSNumber(-100);
            secondaryAxis.Minimum               = new NSNumber(100);
            secondaryAxis.Interval              = new NSNumber(20);
            secondaryAxis.CrossesAt             = 8;
            secondaryAxis.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift;
            secondaryAxis.Name               = new NSString("YAxis");
            secondaryAxis.CrossingAxisName   = "XAxis";
            secondaryAxis.ShowMajorGridLines = false;
            secondaryAxis.ShowMinorGridLines = false;
            chart.SecondaryAxis              = secondaryAxis;

            ChartViewModel dataModel = new ChartViewModel();

            SFScatterSeries series = new SFScatterSeries();

            series.ScatterWidth       = 15;
            series.ScatterHeight      = 15;
            series.ItemsSource        = dataModel.AxisCrossingData;
            series.XBindingPath       = "XValue";
            series.YBindingPath       = "YValue";
            series.ColorModel.Palette = SFChartColorPalette.Natural;
            series.EnableTooltip      = true;


            chart.Behaviors.Add(new SFChartZoomPanBehavior()
            {
                EnableSelectionZooming = false
            });
            chart.Delegate = new CustomDelegate();
            chart.Series.Add(series);
            this.AddSubview(chart);
        }
예제 #14
0
        private SFChart GetMeterDevationChart()
        {
            var sfchart = new SFChart();

            sfchart.Title.Text = "Distance Measurement";

            sfchart.Legend.Visible      = true;
            sfchart.Legend.DockPosition = SFChartLegendPosition.Top;
            sfchart.Legend.IconHeight   = 14;
            sfchart.Legend.IconWidth    = 14;
            sfchart.ColorModel.Palette  = SFChartColorPalette.Natural;

            SFNumericalAxis numericalaxis = new SFNumericalAxis();

            numericalaxis.AxisLineStyle.LineWidth  = 0;
            numericalaxis.MajorTickStyle.LineWidth = 0;
            numericalaxis.Title.Text = new Foundation.NSString("Meters");
            sfchart.SecondaryAxis    = numericalaxis;

            SFNumericalAxis primaryAxis = new SFNumericalAxis();

            primaryAxis.ShowMajorGridLines = false;
            primaryAxis.Title.Text         = new Foundation.NSString("Seconds");
            primaryAxis.ShowMinorGridLines = false;
            sfchart.PrimaryAxis            = primaryAxis;

            splineSeries2              = new SFSplineSeries();
            splineSeries2.ItemsSource  = ChartViewModel.GetTrendlineDataSource2();
            splineSeries2.XBindingPath = "XValue";
            splineSeries2.YBindingPath = "YValue";
            splineSeries2.Label        = "Rupees";
            splineSeries2.LegendIcon   = SFChartLegendIcon.SeriesType;

            splineSeries2.DataMarker.ShowMarker        = true;
            splineSeries2.DataMarker.ShowLabel         = false;
            splineSeries2.DataMarker.MarkerHeight      = 5;
            splineSeries2.DataMarker.MarkerWidth       = 5;
            splineSeries2.DataMarker.MarkerBorderWidth = 2;
            splineSeries2.DataMarker.MarkerBorderColor = UIColor.FromName("#00bdae");

            splineSeries2.Trendlines = new ChartTrendlineCollection();
            powerTrendline           = new SFChartTrendline()
            {
                Type       = SFTrendlineType.Power,
                LineColor  = UIColor.FromRGB(201, 23, 97),
                LegendIcon = SFChartLegendIcon.SeriesType,
                Label      = "Power"
            };

            splineSeries2.Trendlines.Add(powerTrendline);
            sfchart.Series.Add(splineSeries2);
            return(sfchart);
        }
예제 #15
0
		public Line ()
		{
			SFChart chart = new SFChart ();
			SFCategoryAxis primaryAxis = new SFCategoryAxis ();
			chart.PrimaryAxis = primaryAxis;
			chart.PrimaryAxis.PlotOffset	= 10;
			SFNumericalAxis secondaryAxis = new SFNumericalAxis ();
			chart.SecondaryAxis = secondaryAxis;
			ChartLineChartDataSource dataModel = new ChartLineChartDataSource ();
			chart.DataSource = dataModel as SFChartDataSource;
			this.control = chart;
		}
예제 #16
0
        private SFChart GetSalseDeviationChart()
        {
            var sfchart = new SFChart();

            sfchart.Title.Text = "Average Sales Comparison";

            sfchart.Legend.Visible      = true;
            sfchart.Legend.DockPosition = SFChartLegendPosition.Top;
            sfchart.Legend.IconHeight   = 14;
            sfchart.Legend.IconWidth    = 14;
            sfchart.ColorModel.Palette  = SFChartColorPalette.Natural;
            numericalaxis = new SFNumericalAxis();
            numericalaxis.AxisLineStyle.LineWidth  = 0;
            numericalaxis.MajorTickStyle.LineWidth = 0;
            numericalaxis.Title.Text = new Foundation.NSString("Number of Customer");
            sfchart.SecondaryAxis    = numericalaxis;

            SFDateTimeAxis primaryAxis = new SFDateTimeAxis();

            primaryAxis.ShowMajorGridLines = false;
            primaryAxis.IntervalType       = SFChartDateTimeIntervalType.Months;
            primaryAxis.Interval           = new NSNumber(1);
            primaryAxis.Title.Text         = new Foundation.NSString("Months");
            NSDateFormatter formatter = new NSDateFormatter();

            formatter.DateFormat = new NSString("MMM");
            primaryAxis.LabelStyle.LabelFormatter = formatter;
            primaryAxis.ShowMinorGridLines        = false;
            sfchart.PrimaryAxis = primaryAxis;

            salseColumnSeries = new SFColumnSeries();
            salseColumnSeries.XBindingPath = "XValue";
            salseColumnSeries.YBindingPath = "YValue";
            salseColumnSeries.ItemsSource  = ChartViewModel.GetTrendlineDataSource1("Linear");
            salseColumnSeries.Label        = "Salse";
            salseColumnSeries.LegendIcon   = SFChartLegendIcon.SeriesType;

            salseColumnSeries.Trendlines = new ChartTrendlineCollection();
            linearTrendline = new SFChartTrendline()
            {
                Type            = SFTrendlineType.Linear,
                LineColor       = UIColor.FromRGB(64, 64, 65),
                LegendIcon      = SFChartLegendIcon.SeriesType,
                Label           = "Linear",
                PolynomialOrder = 3,
            };

            salseColumnSeries.Trendlines.Add(linearTrendline);
            sfchart.Series.Add(salseColumnSeries);

            return(sfchart);
        }
예제 #17
0
		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;
		}
예제 #18
0
        public Line()
        {
            SFChart chart = new SFChart();

            chart.Title.Text         = new NSString("Efficiency of oil fired power production");
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

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

            secondaryAxis.Title.Text = new NSString("Efficiency (%)");
            secondaryAxis.Minimum    = new NSNumber(25);
            secondaryAxis.Maximum    = new NSNumber(50);
            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                 = "India";
            series1.EnableAnimation       = true;
            series1.DataMarker.ShowMarker = true;
            chart.Series.Add(series1);

            SFLineSeries series2 = new SFLineSeries();

            series2.ItemsSource           = dataModel.LineData2;
            series2.XBindingPath          = "XValue";
            series2.YBindingPath          = "YValue";
            series2.EnableTooltip         = true;
            series2.Label                 = "France";
            series2.EnableAnimation       = true;
            series2.DataMarker.ShowMarker = true;
            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.AddChartBehavior(new SFChartZoomPanBehavior());

            this.AddSubview(chart);
        }
예제 #19
0
        public StripLines()
        {
            SFChart chart = new SFChart();

            chart.Title.Text = new NSString("Average temperature for the year 2014");
            chart.Title.Font = UIFont.FromName("Helvetica neue", 14);
            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.LabelPlacement   = SFChartLabelPlacement.BetweenTicks;
            chart.PrimaryAxis            = primaryAxis;
            chart.PrimaryAxis.Title.Text = new NSString("Months");
            SFNumericalAxis numeric = new SFNumericalAxis();

            numeric.Minimum    = NSObject.FromObject(28);
            numeric.Maximum    = NSObject.FromObject(52);
            numeric.Interval   = NSObject.FromObject(2);
            numeric.Title.Text = new NSString("Temperature in Celsius");
            SFChartNumericalStripLine strip1 = new SFChartNumericalStripLine();

            strip1.Start           = 28;
            strip1.Width           = 8;
            strip1.Text            = new NSString("Low Temperature");
            strip1.BackgroundColor = UIColor.FromRGBA((nfloat)0.7843, (nfloat)0.8196, (nfloat)0.4275, (nfloat)1.0);

            numeric.AddStripLine(strip1);

            SFChartNumericalStripLine strip2 = new SFChartNumericalStripLine();

            strip2.Start           = 36;
            strip2.Width           = 8;
            strip2.Text            = new NSString("Average Temperature");
            strip2.BackgroundColor = UIColor.FromRGBA((nfloat)0.9569, (nfloat)0.7804, (nfloat)0.3843, (nfloat)1.0);

            numeric.AddStripLine(strip2);

            SFChartNumericalStripLine strip3 = new SFChartNumericalStripLine();

            strip3.Start           = 44;
            strip3.Width           = 8;
            strip3.Text            = new NSString("High Temperature");
            strip3.BackgroundColor = UIColor.FromRGBA((nfloat)0.9373, (nfloat)0.4706, (nfloat)0.4706, (nfloat)1.0);

            numeric.AddStripLine(strip3);

            chart.SecondaryAxis = numeric;
            ChartStripLineDataSource dataModel = new ChartStripLineDataSource();

            chart.DataSource = dataModel as SFChartDataSource;
            this.control     = chart;
        }
예제 #20
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;

		}
예제 #21
0
        public ZoomingandPanning()
        {
            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.ShowMajorGridLines   = false;
            secondary.Minimum              = new NSNumber(-500);
            secondary.Maximum              = new NSNumber(700);
            chart.SecondaryAxis            = secondary;
            chart.SecondaryAxis.Title.Text = new NSString("GDP Growth Rate");

            ChartViewModel dataModel = new ChartViewModel();

            SFScatterSeries series = new SFScatterSeries();

            series.ItemsSource  = dataModel.ScatterDataZoomPan;
            series.XBindingPath = "XValue";
            series.YBindingPath = "YValue";

            chart.Series.Add(series);

            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.FromRGB(249, 249, 249);
            label.TextColor       = UIColor.FromRGB(79, 86, 91);
            chart.AddChartBehavior(new SFChartZoomPanBehavior()
            {
                EnableSelectionZooming = true
            });
            this.AddSubview(chart);

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

            this.AddSubview(label);
        }
예제 #22
0
        public Histogram()
        {
            SFChart chart = new SFChart();

            chart.Title.Text         = new NSString("Examination Result");
            chart.ColorModel.Palette = SFChartColorPalette.Natural;

            SFNumericalAxis primary = new SFNumericalAxis();

            primary.Title.Text            = new NSString("Score of Final Examination");
            primary.EdgeLabelsDrawingMode = SFChartAxisEdgeLabelsDrawingMode.Shift;
            primary.ShowMajorGridLines    = false;
            chart.PrimaryAxis             = primary;

            chart.SecondaryAxis                          = new SFNumericalAxis();
            chart.SecondaryAxis.Title.Text               = new NSString("Number of Students");
            chart.SecondaryAxis.ShowMajorGridLines       = true;
            chart.SecondaryAxis.Visible                  = true;
            chart.SecondaryAxis.AxisLineStyle.LineWidth  = 0;
            chart.SecondaryAxis.MajorTickStyle.LineWidth = new NSNumber(0);
            ChartViewModel dataModel = new ChartViewModel();

            SFHistogramSeries series1 = new SFHistogramSeries();

            series1.ItemsSource          = dataModel.HistogramData;
            series1.XBindingPath         = "YValue";
            series1.YBindingPath         = "XValue";
            series1.EnableTooltip        = true;
            series1.Interval             = 20;
            series1.StrokeColor          = UIColor.White;
            series1.StrokeWidth          = 1;
            series1.EnableAnimation      = true;
            series1.LegendIcon           = SFChartLegendIcon.SeriesType;
            series1.DataMarker.ShowLabel = true;
            series1.DataMarker.LabelStyle.LabelPosition   = SFChartDataMarkerLabelPosition.Inner;
            series1.DataMarker.LabelStyle.BackgroundColor = UIColor.Clear;
            series1.DataMarker.LabelStyle.Color           = UIColor.White;
            chart.Series.Add(series1);

            chart.Delegate = new HistogramTooltipFormatter();
            var tooltip = new SFChartTooltipBehavior();

            tooltip.BackgroundColor = UIColor.FromRGBA(64.0f / 255.0f, 64.0f / 255.0f, 65.0f / 255.0f, 1.0f);
            chart.AddChartBehavior(tooltip);

            this.AddSubview(chart);

            this.OptionView = new UIView();
        }
예제 #23
0
        public Line()
        {
            SFChart        chart       = new SFChart();
            SFCategoryAxis primaryAxis = new SFCategoryAxis();

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

            chart.SecondaryAxis = secondaryAxis;
            ChartLineChartDataSource dataModel = new ChartLineChartDataSource();

            chart.DataSource = dataModel as SFChartDataSource;
            this.control     = chart;
        }
예제 #24
0
        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;
        }
예제 #25
0
        public GettingStartedRangeNavigator()
        {
            chart               = new SFChart();
            primaryAxis         = new SFDateTimeAxis();
            primaryAxis.Minimum = DateTimeToNSDate(new DateTime(2015, 5, 15, 0, 0, 0));
            primaryAxis.Maximum = DateTimeToNSDate(new DateTime(2015, 8, 15, 0, 0, 0));
            chart.PrimaryAxis   = primaryAxis;
            secondaryAxis       = new SFNumericalAxis();
            chart.SecondaryAxis = secondaryAxis;

            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.ItemsSource  = dataModel.DateTimeRangeData;
            series.XBindingPath = "XValue";
            series.YBindingPath = "YValue";
            chart.Series.Add(series);
            this.AddSubview(chart);

            rangeNavigator          = new SFDateTimeRangeNavigator();
            rangeNavigator.Delegate = new RangeNavigatorDelegate(primaryAxis);

            SFSplineAreaSeries series1 = new SFSplineAreaSeries();

            series1.Alpha        = 0.6f;
            series1.BorderColor  = UIColor.FromRGBA(255.0f / 255.0f, 191.0f / 255.0f, 0.0f / 255.0f, 1.0f);
            series1.ItemsSource  = dataModel.DateTimeRangeData;
            series1.XBindingPath = "XValue";
            series1.YBindingPath = "YValue";
            chart.Series.Add(series1);
            ((SFChart)rangeNavigator.Content).Series.Add(series1);

            DateTime minDate   = new DateTime(2015, 1, 1, 0, 0, 0);
            DateTime maxDate   = new DateTime(2015, 12, 1, 0, 0, 0);
            DateTime startDate = new DateTime(2015, 5, 15, 0, 0, 0);
            DateTime endDate   = new DateTime(2015, 8, 15, 0, 0, 0);

            rangeNavigator.Minimum        = DateTimeToNSDate(minDate);
            rangeNavigator.Maximum        = DateTimeToNSDate(maxDate);
            rangeNavigator.ViewRangeStart = DateTimeToNSDate(startDate);
            rangeNavigator.ViewRangeEnd   = DateTimeToNSDate(endDate);

            this.AddSubview(rangeNavigator);

            //this.control				    = this;
        }
예제 #26
0
		public LiveUpdate ()
		{

			chart 							= new SFChart ();
			SFNumericalAxis primaryAxis 	= new SFNumericalAxis ();
			chart.PrimaryAxis 				= primaryAxis;
			SFNumericalAxis secondaryAxis 	= new SFNumericalAxis ();
			secondaryAxis.Minimum 			= NSObject.FromObject( -1.5);
			secondaryAxis.Maximum 			= NSObject.FromObject(1.5);
			secondaryAxis.Interval 			= NSObject.FromObject( 0.5);
			chart.SecondaryAxis 			= secondaryAxis;
			dataModel 						= new LiveUpdateDataSource ();
			chart.DataSource 				= dataModel as SFChartDataSource;
			this.control = chart;
			UpdateData ();

		}
예제 #27
0
        public LiveUpdate()
        {
            chart = new SFChart();
            SFNumericalAxis primaryAxis = new SFNumericalAxis();

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

            secondaryAxis.Minimum  = NSObject.FromObject(-1.5);
            secondaryAxis.Maximum  = NSObject.FromObject(1.5);
            secondaryAxis.Interval = NSObject.FromObject(0.5);
            chart.SecondaryAxis    = secondaryAxis;
            dataModel        = new LiveUpdateDataSource();
            chart.DataSource = dataModel as SFChartDataSource;
            this.control     = chart;
            UpdateData();
        }
예제 #28
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(60);
            primaryAxis.Maximum            = new NSNumber(100);
            primaryAxis.Interval           = new NSNumber(5);
            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(0);
            chart.SecondaryAxis.Maximum            = new NSNumber(10);
            chart.SecondaryAxis.Interval           = new NSNumber(2.5);
            chart.SecondaryAxis.ShowMinorGridLines = false;
            chart.SecondaryAxis.ShowMajorGridLines = false;
            chart.Delegate = new TooltipFormatter();
            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      = 40;
            series.MinimumRadius      = 5;
            series.ColorModel.Palette = SFChartColorPalette.Natural;
            series.EnableAnimation    = true;
            chart.Series.Add(series);

            var tooltip = new SFChartTooltipBehavior();

            tooltip.BackgroundColor = UIColor.FromRGBA(64.0f / 255.0f, 64.0f / 255.0f, 65.0f / 255.0f, 1.0f);
            chart.AddChartBehavior(tooltip);

            this.AddSubview(chart);
        }
예제 #29
0
        private SFChart GetMeterDevationChart()
        {
            var sfchart = new SFChart();

            sfchart.Title.Text = "Distance Measurement";

            sfchart.Legend.Visible      = true;
            sfchart.Legend.DockPosition = SFChartLegendPosition.Top;
            sfchart.Legend.IconHeight   = 14;
            sfchart.Legend.IconWidth    = 14;
            sfchart.ColorModel.Palette  = SFChartColorPalette.Natural;

            SFNumericalAxis numericalaxis1 = new SFNumericalAxis();

            numericalaxis1.AxisLineStyle.LineWidth  = 0;
            numericalaxis1.MajorTickStyle.LineWidth = 0;
            numericalaxis1.Title.Text = new Foundation.NSString("Meters");
            sfchart.SecondaryAxis     = numericalaxis1;

            SFNumericalAxis primaryAxis = new SFNumericalAxis();

            primaryAxis.ShowMajorGridLines = false;
            primaryAxis.Title.Text         = new Foundation.NSString("Seconds");
            primaryAxis.ShowMinorGridLines = false;
            sfchart.PrimaryAxis            = primaryAxis;

            powerColumnSeries              = new SFColumnSeries();
            powerColumnSeries.ItemsSource  = ChartViewModel.GetTrendlineDataSource2();
            powerColumnSeries.XBindingPath = "XValue";
            powerColumnSeries.YBindingPath = "YValue";
            powerColumnSeries.Label        = "Distance";
            powerColumnSeries.LegendIcon   = SFChartLegendIcon.SeriesType;

            powerColumnSeries.Trendlines = new ChartTrendlineCollection();
            powerTrendline = new SFChartTrendline()
            {
                Type       = SFTrendlineType.Power,
                LineColor  = UIColor.FromRGB(64, 64, 65),
                LegendIcon = SFChartLegendIcon.SeriesType,
                Label      = "Power"
            };

            powerColumnSeries.Trendlines.Add(powerTrendline);
            sfchart.Series.Add(powerColumnSeries);
            return(sfchart);
        }
예제 #30
0
        public VerticalChart()
        {
            chart = new SFChart();
            chart.Legend.Visible = true;
            chart.Legend.ToggleSeriesVisibility = true;

            SFDateTimeAxis  xAxis     = new SFDateTimeAxis();
            NSDateFormatter formatter = new NSDateFormatter();

            formatter.DateFormat            = new NSString("mm:ss");
            xAxis.LabelStyle.LabelFormatter = formatter;
            xAxis.Title.Text         = new NSString("Time (s)");
            xAxis.ShowMajorGridLines = false;
            chart.PrimaryAxis        = xAxis;

            SFNumericalAxis yAxis = new SFNumericalAxis();

            yAxis.Minimum            = new NSNumber(-10);
            yAxis.Maximum            = new NSNumber(10);
            yAxis.Interval           = new NSNumber(10);
            yAxis.Title.Text         = new NSString("Velocity(m/s)");
            yAxis.ShowMajorGridLines = false;
            chart.SecondaryAxis      = yAxis;

            chart.Title.Text = new NSString("Seismograph analysis of country");
            chart.Title.Font = UIFont.FromName("Helvetica neue", 15);

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

            series.LegendIcon        = SFChartLegendIcon.Circle;
            chart.Legend.IconWidth   = 14;
            chart.Legend.IconHeight  = 14;
            series.Label             = "Indonesia";
            series.ItemsSource       = dataModel.verticalData;
            series.XBindingPath      = "XValue";
            series.YBindingPath      = "YValue";
            series.IsTransposed      = true;
            series.EnableAnimation   = true;
            chart.ColorModel.Palette = SFChartColorPalette.Natural;
            chart.Series.Add(series);

            this.AddSubview(chart);
            UpdateData();
        }
예제 #31
0
        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 ChartViewModel();

            SFColumnSeries series = new SFColumnSeries();

            series.ColorModel.Palette = SFChartColorPalette.Natural;
            series.ItemsSource        = dataModel.data;
            series.XBindingPath       = "XValue";
            series.YBindingPath       = "YValue";
            chart.Series.Add(series);
            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.FromRGB(249, 249, 249);
            label.TextColor       = UIColor.FromRGB(79, 86, 91);

            chart.AddChartBehavior(new SFChartZoomPanBehavior());

            this.AddSubview(chart);

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

            this.AddSubview(label);
            random = new Random();
            UpdateData();
        }
예제 #32
0
        public BoxAndWhisker()
        {
            SFChart chart = new SFChart();

            chart.Title.Text       = new NSString("Employee Age Group in Various Department");
            chart.Title.EdgeInsets = new UIEdgeInsets(0, 0, 15, 0);

            SFCategoryAxis primaryAxis = new SFCategoryAxis();

            primaryAxis.LabelPlacement     = SFChartLabelPlacement.BetweenTicks;
            primaryAxis.ShowMajorGridLines = false;
            primaryAxis.Title.Text         = new NSString("Department");
            chart.PrimaryAxis = primaryAxis;

            SFNumericalAxis secoundaryAxis = new SFNumericalAxis();

            secoundaryAxis.Title.Text              = new NSString("Age");
            secoundaryAxis.Maximum                 = new NSNumber(60);
            secoundaryAxis.Minimum                 = new NSNumber(20);
            secoundaryAxis.Interval                = new NSNumber(5);
            secoundaryAxis.ShowMinorGridLines      = false;
            secoundaryAxis.AxisLineStyle.LineWidth = 0;
            secoundaryAxis.MajorTickStyle.LineSize = 0;
            chart.SecondaryAxis = secoundaryAxis;
            ChartViewModel dataModel = new ChartViewModel();

            SFBoxAndWhiskerSeries boxPlotSeries = new SFBoxAndWhiskerSeries();

            boxPlotSeries.ItemsSource             = dataModel.BoxAndWhiskerData;
            boxPlotSeries.XBindingPath            = "Department";
            boxPlotSeries.YBindingPath            = "EmployeeAges";
            boxPlotSeries.BoxPlotMode             = BoxPlotMode.Exclusive;
            boxPlotSeries.EnableTooltip           = true;
            boxPlotSeries.ShowMedian              = true;
            boxPlotSeries.ColorModel.Palette      = SFChartColorPalette.Custom;
            boxPlotSeries.ColorModel.CustomColors = NSArray.FromObjects(UIColor.FromRGBA(0 / 255.0f, 189 / 255.0f, 174 / 255.0f, 255 / 255.0f),
                                                                        UIColor.FromRGBA(128 / 255.0f, 132 / 255.0f, 232 / 255.0f, 255 / 255.0f),
                                                                        UIColor.FromRGBA(53 / 255.0f, 124 / 255.0f, 210 / 255.0f, 255 / 255.0f),
                                                                        UIColor.FromRGBA(229 / 255.0f, 101 / 255.0f, 144 / 255.0f, 255 / 255.0f),
                                                                        UIColor.FromRGBA(248 / 255.0f, 184 / 255.0f, 131 / 255.0f, 255 / 255.0f));
            chart.Series.Add(boxPlotSeries);

            this.AddSubview(chart);
        }
예제 #33
0
		public StripLines ()
		{
			SFChart chart 						= new SFChart ();
			chart.Title.Text 			        = new NSString ("Average temperature for the year 2014");
			chart.Title.Font				    = UIFont.FromName ("Helvetica neue",14);
			SFCategoryAxis primaryAxis 			= new SFCategoryAxis ();
			primaryAxis.LabelPlacement			= SFChartLabelPlacement.BetweenTicks;
			chart.PrimaryAxis 					= primaryAxis;
			chart.PrimaryAxis.Title.Text        = new NSString ("Months");
			SFNumericalAxis numeric				= new SFNumericalAxis ();
			numeric.Minimum 					= NSObject.FromObject(28);
			numeric.Maximum 					= NSObject.FromObject(52);
			numeric.Interval 					= NSObject.FromObject(2);
			numeric.Title.Text  				= new NSString ("Temperature in Celsius");
			SFChartNumericalStripLine strip1 	= new SFChartNumericalStripLine ();
			strip1.Start                        = 28;
			strip1.Width                        = 8;
			strip1.Text                         = new NSString("Low Temperature");
			strip1.BackgroundColor              = UIColor.FromRGBA((nfloat)0.7843,(nfloat)0.8196,(nfloat)0.4275,(nfloat)1.0);

			numeric.AddStripLine (strip1);

			SFChartNumericalStripLine strip2 	= new SFChartNumericalStripLine ();
			strip2.Start                        = 36;
			strip2.Width                        = 8;
			strip2.Text                         = new NSString("Average Temperature");
			strip2.BackgroundColor              = UIColor.FromRGBA((nfloat)0.9569,(nfloat)0.7804,(nfloat)0.3843,(nfloat)1.0);

			numeric.AddStripLine (strip2);

			SFChartNumericalStripLine strip3 	= new SFChartNumericalStripLine ();
			strip3.Start                        = 44;
			strip3.Width                        = 8;
			strip3.Text                         = new NSString("High Temperature");
			strip3.BackgroundColor              = UIColor.FromRGBA((nfloat)0.9373,(nfloat)0.4706,(nfloat)0.4706,(nfloat)1.0);

			numeric.AddStripLine (strip3);

			chart.SecondaryAxis 		        = numeric;
			ChartStripLineDataSource dataModel  = new ChartStripLineDataSource ();
			chart.DataSource 					= dataModel as SFChartDataSource;
			this.control 						= chart;
		}
        public SplineChartView(string chartTitle)
        {
            SFChart chart 						= new SFChart ();
            chart.Title.Text 					= new NSString (chartTitle);
            SFCategoryAxis primaryAxis 			= new SFCategoryAxis ();
            primaryAxis.Title.Text				= new NSString ("Year");
            primaryAxis.Interval 				= new NSNumber (1);
            chart.PrimaryAxis 					= primaryAxis;
            SFNumericalAxis secondaryAxis 		= new SFNumericalAxis ();
            secondaryAxis.Title.Text			= new NSString ("Rate (M)");
            chart.SecondaryAxis 				= secondaryAxis;
            ChartSplineAreaDataSource dataModel = new ChartSplineAreaDataSource ();
            chart.DataSource 					= dataModel as SFChartDataSource;
            chart.ColorModel.Palette 			= SFChartColorPalette.TomotoSpectrum;

            chart.Legend.Visible 				= true;
            chart.Legend.DockPosition			= SFChartLegendPosition.Bottom;
            this.control 						= 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;
        }
예제 #36
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);
        }
예제 #37
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);
        }
        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();
        }
		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;
		}