Example #1
0
        public void UpdateChart(NSTimer tr)
        {
            this.chart.RemoveAllData();
            Random           r         = new Random();
            TKChartDataPoint dataPoint = new TKChartDataPoint(NSDate.Now, new NSNumber(r.Next() % 70));

            this.dataPoints.Add(dataPoint);
            if (this.dataPoints.Count > 25)
            {
                this.dataPoints.RemoveAt(0);
            }

            this.chart.YAxis = new TKChartNumericAxis(new NSNumber(0), new NSNumber(100));
            TKChartDataPoint    firstPoint = this.dataPoints [0];
            TKChartDataPoint    lastPoint  = this.dataPoints [this.dataPoints.Count - 1];
            TKChartDateTimeAxis xAxis      = new TKChartDateTimeAxis(firstPoint.DataXValue, lastPoint.DataXValue);

            xAxis.Style.LabelStyle.FitMode = TKChartAxisLabelFitMode.None;
            xAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;
            xAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Seconds;
            this.chart.XAxis            = xAxis;

            this.lineSeries = new TKChartLineSeries(this.dataPoints.ToArray());
            this.chart.AddSeries(this.lineSeries);
            this.chart.ReloadData();
        }
        public override void ViewDidLoad()
        {
            this.AddOption("Sequential animation", applySequential);
            this.AddOption("Grow animation", applyGrow);

            base.ViewDidLoad();

            chart = new TKChart(this.View.Bounds);
            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            chart.AllowAnimations  = true;
            chart.Delegate         = chartDelegate;
            this.View.AddSubview(chart);

            Random r = new Random();
            List <TKChartDataPoint> list = new List <TKChartDataPoint> ();

            for (int i = 0; i < 10; i++)
            {
                list.Add(new TKChartDataPoint(new NSNumber(i), new NSNumber(r.Next() % 100)));
            }

            TKChartLineSeries lineSeries = new TKChartLineSeries(list.ToArray());

            chart.AddSeries(lineSeries);

            float shapeSize = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone ? 14 : 17;

            lineSeries.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            lineSeries.Style.ShapeMode  = TKChartSeriesStyleShapeMode.AlwaysShow;
            lineSeries.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            chart.AddSeries(lineSeries);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            chart = new TKChart(this.View.Bounds);
            chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth;
            chart.Delegate         = chartDelegate;
            this.View.AddSubview(chart);

            int[] values  = new int[] { 58, 59, 61, 64, 66, 69, 72, 72, 69 };
            int[] values1 = new int[] { 42, 44, 47, 51, 56, 61, 62, 64, 62 };
            List <TKChartDataPoint> dataPoints  = new List <TKChartDataPoint> ();
            List <TKChartDataPoint> dataPoints1 = new List <TKChartDataPoint> ();

            for (int i = 0; i < values.Length; i++)
            {
                TKChartDataPoint point  = new TKChartDataPoint(new NSNumber(i), new NSNumber(values [i]));
                TKChartDataPoint point1 = new TKChartDataPoint(new NSNumber(i), new NSNumber(values1 [i]));
                dataPoints.Add(point);
                dataPoints1.Add(point1);
            }

            // >> chart-pointlabels-cs
            TKChartLineSeries lineSeries = new TKChartLineSeries(dataPoints.ToArray());

            lineSeries.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            lineSeries.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(8, 8));
            lineSeries.Style.PointLabelStyle.TextHidden    = false;
            lineSeries.Style.PointLabelStyle.LabelOffset   = new UIOffset(0, -24);
            lineSeries.Style.PointLabelStyle.Insets        = new UIEdgeInsets(-1, -5, -1, -5);
            lineSeries.Style.PointLabelStyle.LayoutMode    = TKChartPointLabelLayoutMode.Manual;
            lineSeries.Style.PointLabelStyle.Font          = UIFont.SystemFontOfSize(10);
            lineSeries.Style.PointLabelStyle.TextAlignment = UITextAlignment.Center;
            lineSeries.Style.PointLabelStyle.TextColor     = UIColor.White;
            lineSeries.Style.PointLabelStyle.Fill          = new TKSolidFill(new UIColor((float)(108 / 255.0), (float)(181 / 255.0), (float)(250 / 255.0), (float)1.0));
            lineSeries.Style.PointLabelStyle.ClipMode      = TKChartPointLabelClipMode.Hidden;
            // << chart-pointlabels-cs

            TKChartLineSeries lineSeries1 = new TKChartLineSeries(dataPoints1.ToArray());

            lineSeries1.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            lineSeries1.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(8, 8));
            lineSeries1.Style.PointLabelStyle.TextHidden    = false;
            lineSeries1.Style.PointLabelStyle.LabelOffset   = new UIOffset(0, -24);
            lineSeries1.Style.PointLabelStyle.Insets        = new UIEdgeInsets(-1, -5, -1, -5);
            lineSeries1.Style.PointLabelStyle.LayoutMode    = TKChartPointLabelLayoutMode.Manual;
            lineSeries1.Style.PointLabelStyle.Font          = UIFont.SystemFontOfSize(10);
            lineSeries1.Style.PointLabelStyle.TextAlignment = UITextAlignment.Center;
            lineSeries1.Style.PointLabelStyle.TextColor     = UIColor.White;
            lineSeries1.Style.PointLabelStyle.Fill          = new TKSolidFill(new UIColor((float)(241 / 255.0), (float)(140 / 255.0), (float)(133 / 255.0), (float)1.0));
            lineSeries1.Style.PointLabelStyle.ClipMode      = TKChartPointLabelClipMode.Hidden;

            TKChartNumericAxis yAxis = new TKChartNumericAxis(new NSNumber(40), new NSNumber(80));

            yAxis.MajorTickInterval = new NSNumber(10);
            chart.YAxis             = yAxis;

            chart.AddSeries(lineSeries);
            chart.AddSeries(lineSeries1);
        }
Example #4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            TKChart chart = new TKChart (this.ExampleBounds);
            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview (chart);

            Random r = new Random ();
            List<TKChartDataPoint> list = new List<TKChartDataPoint> ();
            for (int i = 0; i < 12; i++) {
                list.Add (new TKChartDataPoint (new NSNumber (i), new NSNumber (r.Next () % 2000)));
            }

            TKChartLineSeries series = new TKChartLineSeries (list.ToArray());
            series.SelectionMode = TKChartSeriesSelectionMode.Series;

            TKChartNumericAxis xAxis = new TKChartNumericAxis ();
            xAxis.Range = new TKRange (new NSNumber (0), new NSNumber (11));
            xAxis.Position = TKChartAxisPosition.Bottom;
            xAxis.MajorTickInterval = 1;
            chart.XAxis = xAxis;

            TKChartNumericAxis yAxis = new TKChartNumericAxis ();
            yAxis.Range = new TKRange (new NSNumber (0), new NSNumber (2000));
            yAxis.Position = TKChartAxisPosition.Left;
            yAxis.MajorTickInterval = 400;
            chart.YAxis = yAxis;

            chart.AddSeries (series);
        }
Example #5
0
        public void reloadChart(object sender, EventArgs e)
        {
            chart.RemoveAllData ();

            Random r = new Random ();

            for (int i = 0; i < 3; i++) {

                List<TKChartDataPoint> list = new List<TKChartDataPoint> ();
                for (int j = 0; j < 8; j++) {
                    list.Add(new TKChartDataPoint(new NSNumber(j+1), new NSNumber(r.Next()%100)));
                }

                TKChartSeries series = null;

                switch (this.SelectedOption)
                {
                    case 0:
                        series = new TKChartLineSeries (list.ToArray ());
                        break;
                    case 1:
                        series = new TKChartSplineSeries (list.ToArray ());
                        break;
                    case 2:
                        series = new TKChartAreaSeries (list.ToArray());
                        break;
                    case 3:
                        series = new TKChartSplineAreaSeries (list.ToArray());
                        break;
                }
                series.SelectionMode = TKChartSeriesSelectionMode.Series;
                chart.AddSeries (series);
            }
        }
		public override void ViewDidLoad ()
		{
			this.AddOption ("Sequential animation", applySequential);
			this.AddOption ("Grow animation", applyGrow);

			base.ViewDidLoad ();

			chart = new TKChart (this.View.Bounds);
			chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
			chart.AllowAnimations = true;
			chart.Delegate = chartDelegate;
			this.View.AddSubview (chart);

			Random r = new Random ();
			List<TKChartDataPoint> list = new List<TKChartDataPoint> ();
			for (int i = 0; i < 10; i++) {
				list.Add (new TKChartDataPoint(new NSNumber(i), new NSNumber(r.Next() % 100)));
			}
			
			TKChartLineSeries lineSeries = new TKChartLineSeries (list.ToArray ());
			chart.AddSeries (lineSeries);

			float shapeSize = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone ? 14 : 17;
			lineSeries.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF (shapeSize, shapeSize));
			lineSeries.Style.ShapeMode = TKChartSeriesStyleShapeMode.AlwaysShow;
			lineSeries.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
			chart.AddSeries (lineSeries);
		}
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            TKChart chart = new TKChart(this.View.Bounds);

            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview(chart);

            string[] months = new string[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun" };
            int[]    values = new int[] { 95, 40, 55, 30, 76, 34 };
            List <TKChartDataPoint> list = new List <TKChartDataPoint> ();

            for (int i = 0; i < months.Length; i++)
            {
                list.Add(new TKChartDataPoint(new NSString(months[i]), new NSNumber(values[i])));
            }

            TKChartLineSeries series = new TKChartLineSeries(list.ToArray());

            // >> chart-point-shape-cs
            series.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(10, 10));
            // << chart-point-shape-cs

            // >> chart-point-pallete-cs
            var paletteItem = new TKChartPaletteItem();

            paletteItem.Fill = new TKSolidFill(UIColor.Red);
            var palette = new TKChartPalette();

            palette.AddPaletteItem(paletteItem);
            series.Style.ShapePalette = palette;
            // << chart-point-pallete-cs

            chart.AddSeries(series);
            // >> chart-balloon-annotation-cs
            NSMutableParagraphStyle paragraphStyle = (NSMutableParagraphStyle) new NSParagraphStyle().MutableCopy();

            paragraphStyle.Alignment = UITextAlignment.Center;
            NSMutableDictionary attributes = new NSMutableDictionary();

            attributes.Add(UIStringAttributeKey.ForegroundColor, UIColor.White);
            attributes.Add(UIStringAttributeKey.ParagraphStyle, paragraphStyle);
            NSMutableAttributedString attributedText = new NSMutableAttributedString("Important milestone:\n $55000", attributes);

            attributedText.AddAttribute(UIStringAttributeKey.ForegroundColor, UIColor.Yellow, new NSRange(22, 6));

            TKChartBalloonAnnotation balloon = new TKChartBalloonAnnotation(new NSString("Mar"), new NSNumber(55), series);

            balloon.AttributedText          = attributedText;
            balloon.Style.DistanceFromPoint = 20;
            balloon.Style.ArrowSize         = new Size(10, 10);
            chart.AddAnnotation(balloon);
            // << chart-balloon-annotation-cs

            balloon = new TKChartBalloonAnnotation("The lowest value:\n $30000", new NSString("Apr"), new NSNumber(30), series);
            balloon.Style.VerticalAlign = TKChartBalloonVerticalAlignment.Bottom;
            chart.AddAnnotation(balloon);
        }
        void snippet2()
        {
            var seriesForProfit = new TKChartLineSeries(profitData.ToArray());

            seriesForProfit.Selection             = TKChartSeriesSelection.Series;
            seriesForProfit.MarginForHitDetection = 30.0f;
            chart.AddSeries(seriesForProfit);
        }
Example #9
0
            public override TKChartSeries GetSeries(TKChart chart, nuint index)
            {
                var series = chart.DequeueReusableSeriesWithIdentifier("series1") as TKChartSeries;

                if (series == null)
                {
                    series       = new TKChartLineSeries(null, "series1");
                    series.Title = "Series title";
                }
                return(series);
            }
Example #10
0
        void LoadLineSeries(object sender, EventArgs e)
        {
            chart.RemoveAllData();
            TKChartLineSeries lineSeries = new TKChartLineSeries(lineData.ToArray());

            lineSeries.Style.PointLabelStyle.TextHidden  = false;
            lineSeries.Style.PointLabelStyle.LabelOffset = new UIOffset(0, 15);
            lineSeries.Style.PointLabelStyle.Font        = UIFont.SystemFontOfSize(9);
            chart.AddSeries(lineSeries);
            chart.ReloadData();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            chart = new TKChart (this.ExampleBounds);
            chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth;
            chart.Delegate = new ChartDelegate (0, 3);
            this.View.AddSubview (chart);

            int[] values = new int[] { 58, 59, 61, 64, 66, 69, 72, 72, 69 };
            int[] values1 = new int[] { 42, 44, 47, 51, 56, 61, 62, 64, 62 };
            List<TKChartDataPoint> dataPoints = new List<TKChartDataPoint> ();
            List<TKChartDataPoint> dataPoints1 = new List<TKChartDataPoint> ();
            for (int i = 0; i < values.Length; i++) {
                TKChartDataPoint point = new TKChartDataPoint (new NSNumber (i), new NSNumber (values [i]));
                TKChartDataPoint point1 = new TKChartDataPoint (new NSNumber (i), new NSNumber (values1 [i]));
                dataPoints.Add (point);
                dataPoints1.Add (point1);
            }

            TKChartLineSeries lineSeries = new TKChartLineSeries (dataPoints.ToArray ());
            lineSeries.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
            lineSeries.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF (8, 8));
            lineSeries.Style.PointLabelStyle.TextHidden = false;
            lineSeries.Style.PointLabelStyle.LabelOffset = new UIOffset (0, -24);
            lineSeries.Style.PointLabelStyle.Insets = new UIEdgeInsets (-1, -5, -1, -5);
            lineSeries.Style.PointLabelStyle.LayoutMode = TKChartPointLabelLayoutMode.Manual;
            lineSeries.Style.PointLabelStyle.Font = UIFont.SystemFontOfSize (10);
            lineSeries.Style.PointLabelStyle.TextAlignment = UITextAlignment.Center;
            lineSeries.Style.PointLabelStyle.TextColor = UIColor.White;
            lineSeries.Style.PointLabelStyle.Fill = new TKSolidFill (new UIColor ((float)(108 / 255.0), (float)(181 / 255.0), (float)(250 / 255.0), (float)1.0));
            lineSeries.Style.PointLabelStyle.ClipMode = TKChartPointLabelClipMode.Hidden;

            TKChartLineSeries lineSeries1 = new TKChartLineSeries (dataPoints1.ToArray ());
            lineSeries1.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
            lineSeries1.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF (8, 8));
            lineSeries1.Style.PointLabelStyle.TextHidden = false;
            lineSeries1.Style.PointLabelStyle.LabelOffset = new UIOffset (0, -24);
            lineSeries1.Style.PointLabelStyle.Insets = new UIEdgeInsets (-1, -5, -1, -5);
            lineSeries1.Style.PointLabelStyle.LayoutMode = TKChartPointLabelLayoutMode.Manual;
            lineSeries1.Style.PointLabelStyle.Font = UIFont.SystemFontOfSize (10);
            lineSeries1.Style.PointLabelStyle.TextAlignment = UITextAlignment.Center;
            lineSeries1.Style.PointLabelStyle.TextColor = UIColor.White;
            lineSeries1.Style.PointLabelStyle.Fill = new TKSolidFill (new UIColor ((float)(241 / 255.0), (float)(140 / 255.0), (float)(133 / 255.0), (float)1.0));
            lineSeries1.Style.PointLabelStyle.ClipMode = TKChartPointLabelClipMode.Hidden;

            TKChartNumericAxis yAxis = new TKChartNumericAxis (new NSNumber (40), new NSNumber (80));
            yAxis.MajorTickInterval = new NSNumber (10);
            chart.YAxis = yAxis;

            chart.AddSeries (lineSeries);
            chart.AddSeries (lineSeries1);
        }
Example #12
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // >> chart-getting-started-cs
            TKChart chart = new TKChart(this.View.Bounds);

            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview(chart);
            // << chart-getting-started-cs

            // >> chart-getting-started-cus-cs
            chart.Title.Hidden    = false;
            chart.Title.Text      = "This is a chart demo";
            chart.Legend.Hidden   = false;
            chart.AllowAnimations = true;
            // << chart-getting-started-cus-cs

            // >> chart-getting-started-data-cs
            Random r = new Random();
            List <TKChartDataPoint> list = new List <TKChartDataPoint> ();

            for (int i = 0; i < 12; i++)
            {
                list.Add(new TKChartDataPoint(new NSNumber(i), new NSNumber(r.Next() % 2000)));
            }
            // << chart-getting-started-data-cs

            // >> chart-getting-started-series-cs
            TKChartLineSeries series = new TKChartLineSeries(list.ToArray());

            series.SelectionMode = TKChartSeriesSelectionMode.Series;
            // << chart-getting-started-series-cs

            TKChartNumericAxis xAxis = new TKChartNumericAxis();

            xAxis.Range             = new TKRange(new NSNumber(0), new NSNumber(11));
            xAxis.Position          = TKChartAxisPosition.Bottom;
            xAxis.MajorTickInterval = 1;
            chart.XAxis             = xAxis;

            // >> chart-axis-numeric-cs
            TKChartNumericAxis yAxis = new TKChartNumericAxis();

            yAxis.Range             = new TKRange(new NSNumber(0), new NSNumber(2000));
            yAxis.Position          = TKChartAxisPosition.Left;
            yAxis.MajorTickInterval = 400;
            yAxis.LabelDisplayMode  = TKChartNumericAxisLabelDisplayMode.Percentage;
            chart.YAxis             = yAxis;
            // << chart-axis-numeric-cs

            chart.AddSeries(series);
        }
        private void TrySetPointMarkFill(TKChartLineSeries lineSeries, TXFC.CartesianSeries xfSeries)
        {
            XF.Color xfColor = EXAMPLE.PointMarksEffect.GetColor(xfSeries);
            if (xfColor == XF.Color.Default)
            {
                return;
            }

            lineSeries.Style.ShapeMode    = TKChartSeriesStyleShapeMode.AlwaysShow;
            lineSeries.Style.PointShape   = new TKPredefinedShape(TKShapeType.Circle, new CGSize(10, 10));
            lineSeries.Style.Palette      = CreatePalette(ColorExtensions.ToUIColor(xfColor));
            lineSeries.Style.ShapePalette = lineSeries.Style.Palette;
        }
        void snippet3()
        {
            // >> chart-line-series-stroke-cs
            var seriesForProfit = new TKChartLineSeries(profitData.ToArray());

            seriesForProfit.Style.Palette = new TKChartPalette();
            var paletteItem = new TKChartPaletteItem();

            paletteItem.Stroke = new TKStroke(UIColor.Green);
            seriesForProfit.Style.Palette.AddPaletteItem(paletteItem);
            chart.AddSeries(seriesForProfit);
            // << chart-line-series-stroke-cs
        }
        private void UpdatePointMarkFills()
        {
            TXFC.RadCartesianChart xfChart     = (TXFC.RadCartesianChart) this.Element;
            TKExtendedChart        nativeChart = (TKExtendedChart)this.Control;

            for (int i = 0; i < nativeChart.Series.Length; i++)
            {
                TKChartLineSeries lineSeries = nativeChart.Series[i] as TKChartLineSeries;
                if (lineSeries != null)
                {
                    this.TrySetPointMarkFill(lineSeries, xfChart.Series[i]);
                }
            }
        }
Example #16
0
            public override TKChartSeries GetSeries(TKChart chart, nuint index)
            {
                TKChartSeries series = null;

                if (index == 2) {
                    series = new TKChartSplineSeries ();
                } else {
                    series = new TKChartLineSeries ();
                }

                series.SelectionMode = TKChartSeriesSelectionMode.Series;
                series.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new System.Drawing.SizeF (10, 10));
                series.Title = string.Format ("Series: {0}", index + 1);
                return series;
            }
        void snippet1()
        {
            // >> getting-started-xamarin-1
            chart = new TKChart(this.View.Bounds);
            this.View.AddSubview(chart);
            // << getting-started-xamarin-1


            // >> chart-line-cs
            // >> getting-started-xamarin-2
            var expensesData = new List <TKChartDataPoint> ();
            var incomesData  = new List <TKChartDataPoint> ();
            var profitData   = new List <TKChartDataPoint> ();

            var categories     = new [] { "Greetings", "Perfecto", "NearBy", "Family Store", "Fresh & Green" };
            var expensesValues = new [] { 60, 30, 50, 32, 31 };
            var incomesValues  = new [] { 65, 75, 58, 59, 88 };
            var profitValues   = new [] { 5, 45, 8, 27, 57 };

            for (int i = 0; i < categories.Length; ++i)
            {
                expensesData.Add(new TKChartDataPoint(new NSString(categories [i]), new NSNumber(expensesValues [i])));
                incomesData.Add(new TKChartDataPoint(new NSString(categories [i]), new NSNumber(incomesValues [i])));
                profitData.Add(new TKChartDataPoint(new NSString(categories [i]), new NSNumber(profitValues [i])));
            }
            // << getting-started-xamarin-2

            // >> getting-started-xamarin-3
            var seriesForExpenses = new TKChartLineSeries(expensesData.ToArray());

            seriesForExpenses.Title = "Expenses";
            chart.AddSeries(seriesForExpenses);

            var seriesForIncomes = new TKChartLineSeries(incomesData.ToArray());

            seriesForIncomes.Title = "Incomes";
            chart.AddSeries(seriesForIncomes);

            var seriesForProfit = new TKChartLineSeries(profitData.ToArray());

            seriesForProfit.Title = "Profit";
            chart.AddSeries(seriesForProfit);
            // << getting-started-xamarin-3
            chart.Legend.Hidden = false;
            // << chart-line-cs
        }
Example #18
0
        public void reloadChart()
        {
            chart.RemoveAllData();

            List <TKChartDataPoint> array = new List <TKChartDataPoint> ();

            string[] categories = new [] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
            int[]    values     = new [] { 65, 56, 65, 38, 56, 78, 62, 89, 78, 65 };

            for (int i = 0; i < categories.Length; i++)
            {
                if (i == 4 || i == 5)
                {
                    array.Add(new TKChartDataPoint(new NSString(categories [i]), null));
                }
                else
                {
                    array.Add(new TKChartDataPoint(new NSString(categories[i]), new NSNumber(values[i])));
                }
            }

            TKChartLineSeries series = null;

            switch (this.SelectedOption)
            {
            case 0:
                series = new TKChartLineSeries(array.ToArray());
                break;

            case 1:
                series = new TKChartSplineSeries(array.ToArray());
                break;

            case 2:
                series = new TKChartAreaSeries(array.ToArray());
                break;

            case 3:
                series = new TKChartSplineAreaSeries(array.ToArray());
                break;
            }

            series.Selection = TKChartSeriesSelection.Series;
            series.DisplayNilValuesAsGaps = true;
            chart.AddSeries(series);
        }
Example #19
0
            public override TKChartSeries GetSeries(TKChart chart, nuint index)
            {
                TKChartSeries series = null;

                if (index == 2)
                {
                    series = new TKChartSplineSeries();
                }
                else
                {
                    series = new TKChartLineSeries();
                }

                series.SelectionMode    = TKChartSeriesSelectionMode.Series;
                series.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new System.Drawing.SizeF(10, 10));
                series.Title            = string.Format("Series: {0}", index + 1);
                return(series);
            }
        public void reloadChart(object sender, EventArgs e)
        {
            Random r = new Random ();
            points = new List<TKChartDataPoint> ();
            for (int i = 0; i < 10; i++) {
                float x = i * 10;
                float y = r.Next () % 100;
                TKChartDataPoint point = new TKChartDataPoint (new NSNumber(x), new NSNumber(y));
                points.Add (point);
            }

            TKChartLineSeries lineSeries = new TKChartLineSeries (points.ToArray());
            float shapeSize = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone ? 14 : 17;
            lineSeries.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
            lineSeries.Style.PointShape = new TKPredefinedShape (TKShapeType.Rhombus, new SizeF (shapeSize, shapeSize));
            chart.AddSeries (lineSeries);
            chart.YAxis.Style.LabelStyle.TextHidden = true;

            chart.ReloadData ();
        }
        public void reloadChart(object sender, EventArgs e)
        {
            chart.RemoveAllData ();

            List<TKChartDataPoint> array = new List<TKChartDataPoint> ();

            string[] categories = new []{ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
            int[] values = new []{ 65, 56, 65, 38, 56, 78, 62, 89, 78, 65 };

            for ( int i = 0; i<categories.Length; i++ ) {
                if (i == 4 || i == 5) {
                    array.Add (new TKChartDataPoint (new NSString (categories [i]), null));
                }
                else {
                    array.Add(new TKChartDataPoint(new NSString(categories[i]), new NSNumber(values[i])));
                }
            }

            TKChartLineSeries series = null;

            switch (this.SelectedOption)
            {
            case 0:
                series = new TKChartLineSeries (array.ToArray ());
                break;
            case 1:
                series = new TKChartSplineSeries (array.ToArray ());
                break;
            case 2:
                series = new TKChartAreaSeries (array.ToArray());
                break;
            case 3:
                series = new TKChartSplineAreaSeries (array.ToArray());
                break;
            }

            series.SelectionMode = TKChartSeriesSelectionMode.Series;
            series.DisplayNilValuesAsGaps = true;
            chart.AddSeries (series);
        }
Example #22
0
        public void ReloadChart()
        {
            chart.RemoveAllData();

            Random r = new Random();

            for (int i = 0; i < 3; i++)
            {
                List <TKChartDataPoint> list = new List <TKChartDataPoint> ();
                for (int j = 0; j < 8; j++)
                {
                    list.Add(new TKChartDataPoint(new NSNumber(j + 1), new NSNumber(r.Next() % 100)));
                }

                TKChartSeries series = null;
                switch (this.SelectedOption)
                {
                case 0:
                    series = new TKChartLineSeries(list.ToArray());
                    break;

                case 1:
                    series = new TKChartSplineSeries(list.ToArray());
                    break;

                case 2:
                    series = new TKChartAreaSeries(list.ToArray());
                    break;

                case 3:
                    series = new TKChartSplineAreaSeries(list.ToArray());
                    break;
                }
                chart.AddSeries(series);

                // >> chart-selection-cs
                series.Selection = TKChartSeriesSelection.Series;
                // << chart-selection-cs
            }
        }
Example #23
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            TKChart chart = new TKChart (this.ExampleBounds);
            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview (chart);

            string[] months = new string[]{ "Jan", "Feb", "Mar", "Apr", "May", "Jun" };
            int[] values = new int[]{ 95, 40, 55, 30, 76, 34 };
            List<TKChartDataPoint> list = new List<TKChartDataPoint> ();

            for (int i = 0; i < months.Length; i++) {
                list.Add (new TKChartDataPoint(new NSString(months[i]), new NSNumber(values[i])));
            }

            TKChartLineSeries series = new TKChartLineSeries (list.ToArray());
            series.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF (10, 10));
            chart.AddSeries (series);

            NSMutableParagraphStyle paragraphStyle = (NSMutableParagraphStyle)new NSParagraphStyle ().MutableCopy();
            paragraphStyle.Alignment = UITextAlignment.Center;
            NSMutableDictionary attributes = new NSMutableDictionary ();
            attributes.Add (UIStringAttributeKey.ForegroundColor, UIColor.White);
            attributes.Add (UIStringAttributeKey.ParagraphStyle, paragraphStyle);
            NSMutableAttributedString attributedText = new NSMutableAttributedString ("Important milestone:\n $55000", attributes);

            attributedText.AddAttribute (UIStringAttributeKey.ForegroundColor, UIColor.Yellow, new NSRange (22, 6));

            TKChartBalloonAnnotation balloon = new TKChartBalloonAnnotation (new NSString("Mar"), new NSNumber(55), series);
            balloon.AttributedText = attributedText;
            balloon.Style.DistanceFromPoint = 20;
            balloon.Style.ArrowSize = new Size (10, 10);
            chart.AddAnnotation (balloon);

            balloon = new TKChartBalloonAnnotation ("The lowest value:\n $30000", new NSString("Apr"), new NSNumber(30), series);
            balloon.Style.VerticalAlign = TKChartBalloonVerticalAlignment.Bottom;
            chart.AddAnnotation (balloon);
        }
Example #24
0
		public void UpdateChart (NSTimer tr) {
			this.chart.RemoveAllData ();
			Random r = new Random ();
			TKChartDataPoint dataPoint = new TKChartDataPoint (NSDate.Now, new NSNumber (r.Next () % 70));
			this.dataPoints.Add (dataPoint);
			if (this.dataPoints.Count > 25) {
				this.dataPoints.RemoveAt (0);
			}

			this.chart.YAxis = new TKChartNumericAxis (new NSNumber (0), new NSNumber (100));
			TKChartDataPoint firstPoint = this.dataPoints [0];
			TKChartDataPoint lastPoint = this.dataPoints [this.dataPoints.Count - 1];
			TKChartDateTimeAxis xAxis = new TKChartDateTimeAxis (firstPoint.DataXValue, lastPoint.DataXValue);
			xAxis.Style.LabelStyle.FitMode = TKChartAxisLabelFitMode.None;
			xAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;
			xAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Seconds;
			this.chart.XAxis = xAxis;

			this.lineSeries = new TKChartLineSeries (this.dataPoints.ToArray ());
			this.chart.AddSeries (this.lineSeries);
			this.chart.ReloadData ();
		}
Example #25
0
        public void reloadChart(object sender, EventArgs e)
        {
            chart.RemoveAllData();

            Random r = new Random();

            for (int i = 0; i < 3; i++)
            {
                List <TKChartDataPoint> list = new List <TKChartDataPoint> ();
                for (int j = 0; j < 8; j++)
                {
                    list.Add(new TKChartDataPoint(new NSNumber(j + 1), new NSNumber(r.Next() % 100)));
                }

                TKChartSeries series = null;

                switch (this.SelectedOption)
                {
                case 0:
                    series = new TKChartLineSeries(list.ToArray());
                    break;

                case 1:
                    series = new TKChartSplineSeries(list.ToArray());
                    break;

                case 2:
                    series = new TKChartAreaSeries(list.ToArray());
                    break;

                case 3:
                    series = new TKChartSplineAreaSeries(list.ToArray());
                    break;
                }
                series.SelectionMode = TKChartSeriesSelectionMode.Series;
                chart.AddSeries(series);
            }
        }
        public void reloadChart(object sender, EventArgs e)
        {
            Random r = new Random();
            List <TKChartDataPoint> points = new List <TKChartDataPoint> ();

            for (int i = 0; i < 10; i++)
            {
                float            x     = i * 10;
                float            y     = r.Next() % 100;
                TKChartDataPoint point = new TKChartDataPoint(new NSNumber(x), new NSNumber(y));
                points.Add(point);
            }

            TKChartLineSeries lineSeries = new TKChartLineSeries(points.ToArray());
            float             shapeSize  = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone ? 14 : 17;

            lineSeries.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            lineSeries.Style.PointShape = new TKPredefinedShape(TKShapeType.Rhombus, new SizeF(shapeSize, shapeSize));
            chart.AddSeries(lineSeries);
            chart.YAxis.Style.LabelStyle.TextHidden = true;

            chart.ReloadData();
        }
Example #27
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            TKChart chart = new TKChart(this.ExampleBounds);

            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview(chart);

            Random r = new Random();
            List <TKChartDataPoint> list = new List <TKChartDataPoint> ();

            for (int i = 0; i < 12; i++)
            {
                list.Add(new TKChartDataPoint(new NSNumber(i), new NSNumber(r.Next() % 2000)));
            }

            TKChartLineSeries series = new TKChartLineSeries(list.ToArray());

            series.SelectionMode = TKChartSeriesSelectionMode.Series;

            TKChartNumericAxis xAxis = new TKChartNumericAxis();

            xAxis.Range             = new TKRange(new NSNumber(0), new NSNumber(11));
            xAxis.Position          = TKChartAxisPosition.Bottom;
            xAxis.MajorTickInterval = 1;
            chart.XAxis             = xAxis;

            TKChartNumericAxis yAxis = new TKChartNumericAxis();

            yAxis.Range             = new TKRange(new NSNumber(0), new NSNumber(2000));
            yAxis.Position          = TKChartAxisPosition.Left;
            yAxis.MajorTickInterval = 400;
            chart.YAxis             = yAxis;

            chart.AddSeries(series);
        }
        void snippet1()
        {
            // >> chart-structure-axes-cs
            var xAxis = new TKChartNumericAxis();

            xAxis.Position = TKChartAxisPosition.Bottom;
            chart.AddAxis(xAxis);

            var yAxis1 = new TKChartNumericAxis(new NSNumber(0), new NSNumber(100));

            yAxis1.MajorTickInterval = 50;
            yAxis1.Position          = TKChartAxisPosition.Left;
            yAxis1.Style.LineHidden  = false;
            chart.AddAxis(yAxis1);

            var yAxis2 = new TKChartNumericAxis(new NSNumber(0), new NSNumber(200));

            yAxis2.MajorTickInterval = 50;
            yAxis2.Position          = TKChartAxisPosition.Right;
            yAxis2.Style.LineHidden  = false;
            chart.AddAxis(yAxis2);

            var incomesData = new List <TKChartDataPoint> ();
            var values1     = new [] { 12, 10, 98, 64, 11, 27, 85, 72, 43, 39 };

            for (int i = 0; i < 10; i++)
            {
                incomesData.Add(new TKChartDataPoint(new NSNumber(i), new NSNumber(values1 [i])));
            }

            var series = new TKChartLineSeries(incomesData.ToArray());

            series.XAxis = xAxis;
            series.YAxis = yAxis1;
            chart.AddSeries(series);
            // << chart-structure-axes-cs
        }
Example #29
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            TKChart chart = new TKChart (this.ExampleBounds);
            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview (chart);

            TKChartNumericAxis gdpInPoundsYAxis = new TKChartNumericAxis (new NSNumber(1050), new NSNumber(1400));
            gdpInPoundsYAxis.MajorTickInterval = 50;
            gdpInPoundsYAxis.Position = TKChartAxisPosition.Left;
            gdpInPoundsYAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Left;
            gdpInPoundsYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpInPoundsYAxis.Style.LineHidden = false;
            chart.AddAxis (gdpInPoundsYAxis);
            chart.YAxis = gdpInPoundsYAxis;

            TKChartDateTimeAxis periodXAxis = new TKChartDateTimeAxis ();
            periodXAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            periodXAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            periodXAxis.MajorTickInterval = 1;
            periodXAxis.Position = TKChartAxisPosition.Bottom;
            periodXAxis.PlotMode = TKChartAxisPlotMode.BetweenTicks;
            chart.AddAxis (periodXAxis);

            TKChartNumericAxis gdpInvestmentYAxis = new TKChartNumericAxis (new NSNumber(0), new NSNumber(20));
            gdpInvestmentYAxis.MajorTickInterval = 5;
            gdpInvestmentYAxis.Position = TKChartAxisPosition.Right;
            gdpInvestmentYAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Left;
            gdpInvestmentYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpInvestmentYAxis.Style.LineHidden = false;
            chart.AddAxis (gdpInvestmentYAxis);

            TKChartNumericAxis gdpGrowthUpAnnualChangeYAxis = new TKChartNumericAxis (new NSNumber(-6), new NSNumber(4));
            gdpGrowthUpAnnualChangeYAxis.MajorTickInterval = 1;
            gdpGrowthUpAnnualChangeYAxis.Position = TKChartAxisPosition.Right;
            gdpGrowthUpAnnualChangeYAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Left;
            gdpGrowthUpAnnualChangeYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpGrowthUpAnnualChangeYAxis.Style.LineHidden = false;
            chart.AddAxis (gdpGrowthUpAnnualChangeYAxis);

            TKChartNumericAxis grossNationalSavingsAnnualGrowthUpYAxis = new TKChartNumericAxis (new NSNumber(0), new NSNumber(16));
            grossNationalSavingsAnnualGrowthUpYAxis.MajorTickInterval = 2;
            grossNationalSavingsAnnualGrowthUpYAxis.Position = TKChartAxisPosition.Right;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.LabelStyle.TextAlignment = TKChartAxisLabelAlignment.Left;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.MajorTickStyle.TicksHidden = false;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.LineHidden = false;
            chart.AddAxis (grossNationalSavingsAnnualGrowthUpYAxis);

            NSDate date2001 = DateWithYear (2001, 12, 31);
            NSDate date2002 = DateWithYear (2002, 12, 31);
            NSDate date2003 = DateWithYear (2003, 12, 31);
            NSDate date2004 = DateWithYear (2004, 12, 31);
            NSDate date2005 = DateWithYear (2005, 12, 31);

            TKChartDataPoint[] gdpInPounds = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(1200)),
                new TKChartDataPoint(date2002, new NSNumber(1200)),
                new TKChartDataPoint(date2003, new NSNumber(1225)),
                new TKChartDataPoint(date2004, new NSNumber(1300)),
                new TKChartDataPoint(date2005, new NSNumber(1350))
            };

            TKChartColumnSeries gdpInPoundsSeries = new TKChartColumnSeries  (gdpInPounds);
            gdpInPoundsSeries.XAxis = periodXAxis;
            gdpInPoundsSeries.YAxis = gdpInPoundsYAxis;
            gdpInPoundsSeries.SelectionMode = TKChartSeriesSelectionMode.Series;
            chart.AddSeries (gdpInPoundsSeries);

            TKChartDataPoint[] gdpGrowthUpAnnual = new TKChartDataPoint[] {
                new TKChartDataPoint (date2001, new NSNumber (4)),
                new TKChartDataPoint (date2002, new NSNumber (3)),
                new TKChartDataPoint (date2003, new NSNumber (2)),
                new TKChartDataPoint (date2004, new NSNumber (-5)),
                new TKChartDataPoint (date2005, new NSNumber (1))
            };

            float shapeSize = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone ? 7 : 17;

            TKChartLineSeries gdpGrowthUpSeries = new TKChartLineSeries (gdpGrowthUpAnnual);
            gdpGrowthUpSeries.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF (shapeSize, shapeSize));
            gdpGrowthUpSeries.XAxis = periodXAxis;
            gdpGrowthUpSeries.YAxis = gdpGrowthUpAnnualChangeYAxis;
            gdpGrowthUpSeries.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
            gdpGrowthUpSeries.Style.ShapeMode = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries (gdpGrowthUpSeries);

            TKChartDataPoint[] grossAnualSavings = new TKChartDataPoint[] {
                new TKChartDataPoint (date2001, new NSNumber (14)),
                new TKChartDataPoint (date2002, new NSNumber (8)),
                new TKChartDataPoint (date2003, new NSNumber (12)),
                new TKChartDataPoint (date2004, new NSNumber (11)),
                new TKChartDataPoint (date2005, new NSNumber (16))
            };

            TKChartLineSeries grossAnualSavingsSeries = new TKChartLineSeries (grossAnualSavings);
            grossAnualSavingsSeries.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            grossAnualSavingsSeries.XAxis = periodXAxis;
            grossAnualSavingsSeries.YAxis = grossNationalSavingsAnnualGrowthUpYAxis;
            grossAnualSavingsSeries.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
            grossAnualSavingsSeries.Style.ShapeMode = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries (grossAnualSavingsSeries);

            TKChartDataPoint[] gdpInvestment = new TKChartDataPoint[] {
                new TKChartDataPoint (date2001, new NSNumber (15)),
                new TKChartDataPoint (date2002, new NSNumber (13)),
                new TKChartDataPoint (date2003, new NSNumber (16)),
                new TKChartDataPoint (date2004, new NSNumber (19)),
                new TKChartDataPoint (date2005, new NSNumber (15))
            };

            TKChartLineSeries gdpInvestmentSeries = new TKChartLineSeries (gdpInvestment);
            gdpInvestmentSeries.Style.PointShape = new TKPredefinedShape (TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            gdpInvestmentSeries.XAxis = periodXAxis;
            gdpInvestmentSeries.YAxis = gdpInvestmentYAxis;
            gdpInvestmentSeries.SelectionMode = TKChartSeriesSelectionMode.DataPoint;
            gdpInvestmentSeries.Style.ShapeMode = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries (gdpInvestmentSeries);

            this.setStyles (gdpInPoundsSeries);
            this.setStyles (grossAnualSavingsSeries);
            this.setStyles (gdpGrowthUpSeries);
            this.setStyles (gdpInvestmentSeries);

            chart.ReloadData ();
        }
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();

			var chart = new TKChart (this.View.Bounds);
			chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
			this.View.Add (chart);
		
			string url = "http://www.telerik.com/docs/default-source/ui-for-ios/weather.json?sfvrsn=2";
			dataSource.LoadDataFromURL (url, TKDataSourceDataFormat.JSON, "dayList", (NSError err) => {
				if (err != null) {
					Console.WriteLine("Can't connect with the server!");
					return;
				}

				dataSource.Settings.Chart.CreateSeries((TKDataSourceGroup group) => {
					TKChartSeries series = null;
					if (group.ValueKey == "clouds") {
						series = new TKChartColumnSeries();
						series.YAxis = new TKChartNumericAxis(NSObject.FromObject(0), NSObject.FromObject(100));
						series.YAxis.Title = "clouds";
						series.YAxis.Style.TitleStyle.RotationAngle = (float)Math.PI/2.0f;
					}
					else {
						series = new TKChartLineSeries();
						series.YAxis = new TKChartNumericAxis(NSObject.FromObject(-10), NSObject.FromObject(30));
						if (group.ValueKey == "temp.min") {
							series.YAxis.Position = TKChartAxisPosition.Right;
							series.YAxis.Title = "temperature";
							series.YAxis.Style.TitleStyle.RotationAngle = (float)Math.PI/2.0f;
							chart.AddAxis(series.YAxis);
						}
					}
					return series;
				});

				dataSource.Map((NSObject item) => {
					double interval = ((NSNumber)item.ValueForKey(new NSString("dateTime"))).DoubleValue;
					NSDate date = NSDate.FromTimeIntervalSince1970(interval);
					item.SetValueForKey(date, new NSString("dateTime"));
					return item;
				});

				NSObject[] items = this.dataSource.Items;
				NSMutableArray newItems = new NSMutableArray();
				newItems.Add(new TKDataSourceGroup(items, "clouds", "dateTime"));
				newItems.Add(new TKDataSourceGroup(items, "temp.min", "dateTime"));
				newItems.Add(new TKDataSourceGroup(items, "temp.max", "dateTime"));
				dataSource.ItemSource = newItems;

				chart.DataSource = dataSource;

				var formatter = new NSDateFormatter();
				formatter.DateFormat = "dd";
				TKChartDateTimeAxis xAxis = (TKChartDateTimeAxis)chart.XAxis;
				xAxis.MajorTickInterval = 1;
				xAxis.PlotMode = TKChartAxisPlotMode.BetweenTicks;
				xAxis.LabelFormatter = formatter;
				xAxis.Title = "date";
				xAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Days;
			});
		}
        public MainPage()
        {
            InitializeComponent();

#if __IOS__
            // UI FOR XAMARIN iOS native controls

            RootGrid.Padding = new Thickness(0, 20, 0, 0);

            var explanation1 = new UILabel
            {
                MinimumFontSize = 14f,
                Lines           = 0,
                LineBreakMode   = UILineBreakMode.WordWrap,
                Text            = "This is the native iOS TKChart",
            };
            HeaderGrid.Children.Add(explanation1);

            // Chart
            TKChart chart = new TKChart();
            chart.AllowAnimations  = true;
            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;

            // Sample Data
            Random r    = new Random();
            var    list = Enumerable.Range(1, 12).Select(i => new TKChartDataPoint(new NSNumber(i), new NSNumber(r.Next() % 2000))).ToArray();

            // Add Series
            TKChartLineSeries series = new TKChartLineSeries(list);
            series.Selection = TKChartSeriesSelection.Series;
            chart.AddSeries(series);

            BodyGrid.Children.Add(chart);
#endif

#if __ANDROID__
            // UI FOR XAMARIN Android native controls

            HeaderGrid.Children.Add(new TextView(Forms.Context)
            {
                Text     = "This is the native Android RadCartesianChartView",
                TextSize = 14
            });

            RadCartesianChartView chartView = new RadCartesianChartView(Forms.Context);
            chartView.HorizontalAxis = new CategoricalAxis();
            chartView.VerticalAxis   = new LinearAxis();

            // Sample Data
            var monthResults = new Java.Util.ArrayList();
            monthResults.Add(new MonthResult("Jan", 12));
            monthResults.Add(new MonthResult("Feb", 5));
            monthResults.Add(new MonthResult("Mar", 10));
            monthResults.Add(new MonthResult("Apr", 7));

            chartView.Series.Add(new LineSeries
            {
                CategoryBinding = new MonthResultDataBinding("Month"),
                ValueBinding    = new MonthResultDataBinding("Result"),
                Data            = monthResults
            });

            BodyGrid.Children.Add(chartView);
#endif

#if WINDOWS_UWP
            // UI FOR XAMARIN UWP native controls
            var explanation1 = new TextBlock
            {
                Text         = "The next control is a CustomControl (a customized TextBlock with a bad ArrangeOverride implementation).",
                FontSize     = 14,
                FontFamily   = new FontFamily("HelveticaNeue"),
                TextWrapping = TextWrapping.Wrap
            };

            HeaderGrid.Children.Add(explanation1);


            // Set up chart
            var chartView = new RadCartesianChart();
            chartView.HorizontalAxis = new CategoricalAxis();
            chartView.VerticalAxis   = new LinearAxis();

            // sample data
            var monthResults = new List <MonthResult> {
                new MonthResult("Jan", 12), new MonthResult("Feb", 5), new MonthResult("Mar", 10), new MonthResult("Apr", 7)
            };

            chartView.Series.Add(new LineSeries
            {
                CategoryBinding = new PropertyNameDataPointBinding("Month"),
                ValueBinding    = new PropertyNameDataPointBinding("Result"),
                ItemsSource     = monthResults
            });

            // Add native chart to Visual Tree
            BodyGrid.Children.Add(chartView);
#endif
        }
Example #32
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            TKChart chart = new TKChart(this.ExampleBounds);

            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview(chart);

            TKChartNumericAxis gdpInPoundsYAxis = new TKChartNumericAxis(new NSNumber(1050), new NSNumber(1400));

            gdpInPoundsYAxis.MajorTickInterval = 50;
            gdpInPoundsYAxis.Position          = TKChartAxisPosition.Left;
            gdpInPoundsYAxis.Style.LabelStyle.TextAlignment   = TKChartAxisLabelAlignment.Left;
            gdpInPoundsYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpInPoundsYAxis.Style.LineHidden = false;
            chart.AddAxis(gdpInPoundsYAxis);
            chart.YAxis = gdpInPoundsYAxis;

            TKChartDateTimeAxis periodXAxis = new TKChartDateTimeAxis();

            periodXAxis.MajorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            periodXAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Years;
            periodXAxis.MajorTickInterval     = 1;
            periodXAxis.Position = TKChartAxisPosition.Bottom;
            periodXAxis.PlotMode = TKChartAxisPlotMode.BetweenTicks;
            chart.AddAxis(periodXAxis);

            TKChartNumericAxis gdpInvestmentYAxis = new TKChartNumericAxis(new NSNumber(0), new NSNumber(20));

            gdpInvestmentYAxis.MajorTickInterval = 5;
            gdpInvestmentYAxis.Position          = TKChartAxisPosition.Right;
            gdpInvestmentYAxis.Style.LabelStyle.TextAlignment   = TKChartAxisLabelAlignment.Left;
            gdpInvestmentYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpInvestmentYAxis.Style.LineHidden = false;
            chart.AddAxis(gdpInvestmentYAxis);

            TKChartNumericAxis gdpGrowthUpAnnualChangeYAxis = new TKChartNumericAxis(new NSNumber(-6), new NSNumber(4));

            gdpGrowthUpAnnualChangeYAxis.MajorTickInterval = 1;
            gdpGrowthUpAnnualChangeYAxis.Position          = TKChartAxisPosition.Right;
            gdpGrowthUpAnnualChangeYAxis.Style.LabelStyle.TextAlignment   = TKChartAxisLabelAlignment.Left;
            gdpGrowthUpAnnualChangeYAxis.Style.MajorTickStyle.TicksHidden = false;
            gdpGrowthUpAnnualChangeYAxis.Style.LineHidden = false;
            chart.AddAxis(gdpGrowthUpAnnualChangeYAxis);

            TKChartNumericAxis grossNationalSavingsAnnualGrowthUpYAxis = new TKChartNumericAxis(new NSNumber(0), new NSNumber(16));

            grossNationalSavingsAnnualGrowthUpYAxis.MajorTickInterval = 2;
            grossNationalSavingsAnnualGrowthUpYAxis.Position          = TKChartAxisPosition.Right;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.LabelStyle.TextAlignment   = TKChartAxisLabelAlignment.Left;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.MajorTickStyle.TicksHidden = false;
            grossNationalSavingsAnnualGrowthUpYAxis.Style.LineHidden = false;
            chart.AddAxis(grossNationalSavingsAnnualGrowthUpYAxis);

            NSDate date2001 = DateWithYear(2001, 12, 31);
            NSDate date2002 = DateWithYear(2002, 12, 31);
            NSDate date2003 = DateWithYear(2003, 12, 31);
            NSDate date2004 = DateWithYear(2004, 12, 31);
            NSDate date2005 = DateWithYear(2005, 12, 31);

            TKChartDataPoint[] gdpInPounds = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(1200)),
                new TKChartDataPoint(date2002, new NSNumber(1200)),
                new TKChartDataPoint(date2003, new NSNumber(1225)),
                new TKChartDataPoint(date2004, new NSNumber(1300)),
                new TKChartDataPoint(date2005, new NSNumber(1350))
            };

            TKChartColumnSeries gdpInPoundsSeries = new TKChartColumnSeries(gdpInPounds);

            gdpInPoundsSeries.XAxis         = periodXAxis;
            gdpInPoundsSeries.YAxis         = gdpInPoundsYAxis;
            gdpInPoundsSeries.SelectionMode = TKChartSeriesSelectionMode.Series;
            chart.AddSeries(gdpInPoundsSeries);

            TKChartDataPoint[] gdpGrowthUpAnnual = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(4)),
                new TKChartDataPoint(date2002, new NSNumber(3)),
                new TKChartDataPoint(date2003, new NSNumber(2)),
                new TKChartDataPoint(date2004, new NSNumber(-5)),
                new TKChartDataPoint(date2005, new NSNumber(1))
            };

            float shapeSize = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone ? 7 : 17;

            TKChartLineSeries gdpGrowthUpSeries = new TKChartLineSeries(gdpGrowthUpAnnual);

            gdpGrowthUpSeries.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            gdpGrowthUpSeries.XAxis            = periodXAxis;
            gdpGrowthUpSeries.YAxis            = gdpGrowthUpAnnualChangeYAxis;
            gdpGrowthUpSeries.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            gdpGrowthUpSeries.Style.ShapeMode  = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries(gdpGrowthUpSeries);

            TKChartDataPoint[] grossAnualSavings = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(14)),
                new TKChartDataPoint(date2002, new NSNumber(8)),
                new TKChartDataPoint(date2003, new NSNumber(12)),
                new TKChartDataPoint(date2004, new NSNumber(11)),
                new TKChartDataPoint(date2005, new NSNumber(16))
            };

            TKChartLineSeries grossAnualSavingsSeries = new TKChartLineSeries(grossAnualSavings);

            grossAnualSavingsSeries.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            grossAnualSavingsSeries.XAxis            = periodXAxis;
            grossAnualSavingsSeries.YAxis            = grossNationalSavingsAnnualGrowthUpYAxis;
            grossAnualSavingsSeries.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            grossAnualSavingsSeries.Style.ShapeMode  = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries(grossAnualSavingsSeries);

            TKChartDataPoint[] gdpInvestment = new TKChartDataPoint[] {
                new TKChartDataPoint(date2001, new NSNumber(15)),
                new TKChartDataPoint(date2002, new NSNumber(13)),
                new TKChartDataPoint(date2003, new NSNumber(16)),
                new TKChartDataPoint(date2004, new NSNumber(19)),
                new TKChartDataPoint(date2005, new NSNumber(15))
            };

            TKChartLineSeries gdpInvestmentSeries = new TKChartLineSeries(gdpInvestment);

            gdpInvestmentSeries.Style.PointShape = new TKPredefinedShape(TKShapeType.Circle, new SizeF(shapeSize, shapeSize));
            gdpInvestmentSeries.XAxis            = periodXAxis;
            gdpInvestmentSeries.YAxis            = gdpInvestmentYAxis;
            gdpInvestmentSeries.SelectionMode    = TKChartSeriesSelectionMode.DataPoint;
            gdpInvestmentSeries.Style.ShapeMode  = TKChartSeriesStyleShapeMode.AlwaysShow;
            chart.AddSeries(gdpInvestmentSeries);

            this.setStyles(gdpInPoundsSeries);
            this.setStyles(grossAnualSavingsSeries);
            this.setStyles(gdpGrowthUpSeries);
            this.setStyles(gdpInvestmentSeries);

            chart.ReloadData();
        }
Example #33
0
 void LoadLineSeries(object sender, EventArgs e)
 {
     chart.RemoveAllData ();
     TKChartLineSeries lineSeries = new TKChartLineSeries (lineData.ToArray ());
     lineSeries.Style.PointLabelStyle.TextHidden = false;
     lineSeries.Style.PointLabelStyle.LabelOffset = new UIOffset (0, 15);
     lineSeries.Style.PointLabelStyle.Font = UIFont.SystemFontOfSize (9);
     chart.AddSeries (lineSeries);
     chart.ReloadData ();
 }
Example #34
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var chart = new TKChart(this.View.Bounds);

            chart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.Add(chart);

            string url = "http://www.telerik.com/docs/default-source/ui-for-ios/weather.json?sfvrsn=2";

            dataSource.LoadDataFromURL(url, TKDataSourceDataFormat.JSON, "dayList", (NSError err) => {
                if (err != null)
                {
                    Console.WriteLine("Can't connect with the server!");
                    return;
                }

                dataSource.Settings.Chart.CreateSeries((TKDataSourceGroup group) => {
                    TKChartSeries series = null;
                    if (group.ValueKey == "clouds")
                    {
                        series             = new TKChartColumnSeries();
                        series.YAxis       = new TKChartNumericAxis(NSObject.FromObject(0), NSObject.FromObject(100));
                        series.YAxis.Title = "clouds";
                        series.YAxis.Style.TitleStyle.RotationAngle = (float)Math.PI / 2.0f;
                    }
                    else
                    {
                        series       = new TKChartLineSeries();
                        series.YAxis = new TKChartNumericAxis(NSObject.FromObject(-10), NSObject.FromObject(30));
                        if (group.ValueKey == "temp.min")
                        {
                            series.YAxis.Position = TKChartAxisPosition.Right;
                            series.YAxis.Title    = "temperature";
                            series.YAxis.Style.TitleStyle.RotationAngle = (float)Math.PI / 2.0f;
                            chart.AddAxis(series.YAxis);
                        }
                    }
                    return(series);
                });

                dataSource.Map((NSObject item) => {
                    double interval = ((NSNumber)item.ValueForKey(new NSString("dateTime"))).DoubleValue;
                    NSDate date     = NSDate.FromTimeIntervalSince1970(interval);
                    item.SetValueForKey(date, new NSString("dateTime"));
                    return(item);
                });

                NSObject[] items        = this.dataSource.Items;
                NSMutableArray newItems = new NSMutableArray();
                newItems.Add(new TKDataSourceGroup(items, "clouds", "dateTime"));
                newItems.Add(new TKDataSourceGroup(items, "temp.min", "dateTime"));
                newItems.Add(new TKDataSourceGroup(items, "temp.max", "dateTime"));
                dataSource.ItemSource = newItems;

                chart.DataSource = dataSource;

                var formatter             = new NSDateFormatter();
                formatter.DateFormat      = "dd";
                TKChartDateTimeAxis xAxis = (TKChartDateTimeAxis)chart.XAxis;
                xAxis.MajorTickInterval   = 1;
                xAxis.PlotMode            = TKChartAxisPlotMode.BetweenTicks;
                xAxis.LabelFormatter      = formatter;
                xAxis.Title = "date";
                xAxis.MinorTickIntervalUnit = TKChartDateTimeAxisIntervalUnit.Days;
            });
        }