Example #1
0
            public override TKChartPaletteItem PaletteItemForSeries(TKChart chart, TKChartSeries series, nint index)
            {
                TKChartPaletteItem item = null;

                if (series.Index == 1)
                {
                    UIColor[] colors = new UIColor[] {
                        new UIColor(0f, 1f, 0f, 0.4f),
                        new UIColor(1f, 0f, 0f, 0.4f),
                        new UIColor(0f, 0f, 1f, 0.4f),
                    };
                    TKLinearGradientFill gradient = new TKLinearGradientFill(colors, new PointF(0.5f, 0.0f), new PointF(0.5f, 1.0f));
                    item = new TKChartPaletteItem(gradient);
                }
                else
                {
                    TKImageFill image = new TKImageFill(new UIImage("pattern1.png"), 5.0f);
                    image.ResizingMode = TKImageFillResizingMode.Tile;
                    TKStroke stroke = new TKStroke(UIColor.Black, 1.0f);
                    stroke.CornerRadius = 5.0f;
                    stroke.DashPattern  = new NSNumber[] { new NSNumber(2), new NSNumber(2), new NSNumber(5), new NSNumber(2) };
                    item = new TKChartPaletteItem(new NSObject[] { image, stroke });
                }

                return(item);
            }
Example #2
0
        public void setStyles(TKChartSeries series)
        {
            TKChartPaletteItem item = series.Style.Palette.PaletteItemAtIndex(series.Index);

            if (series is TKChartColumnSeries && item.Drawables.Length > 1)
            {
                NSObject drawable = item.Drawables [2];

                if (drawable is TKStroke)
                {
                    TKStroke stroke = drawable as TKStroke;
                    series.YAxis.Style.LineStroke = new TKStroke(stroke.Fill);
                }
                else
                {
                    series.YAxis.Style.LineStroke = new TKStroke(item.Stroke.Fill);
                }
            }
            else
            {
                series.YAxis.Style.LineStroke = new TKStroke(item.Stroke.Fill);
            }
            series.YAxis.Style.MajorTickStyle.TicksFill           = series.YAxis.Style.LineStroke.Fill;
            series.YAxis.Style.MajorTickStyle.MaxTickClippingMode = TKChartAxisClippingMode.Visible;
            series.YAxis.Style.MajorTickStyle.MinTickClippingMode = TKChartAxisClippingMode.Visible;

            if (series.YAxis.Style.MajorTickStyle.TicksFill is TKSolidFill)
            {
                TKSolidFill solidFill = series.YAxis.Style.MajorTickStyle.TicksFill as TKSolidFill;
                series.YAxis.Style.LabelStyle.TextColor = solidFill.Color;
            }
        }
Example #3
0
        private void CustomDrawingSelected()
        {
            chart.RemoveAllData();

            MyAxis axis = new MyAxis(new NSNumber(100), new NSNumber(450));

            chart.YAxis = axis;

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

            for (int i = 0; i < names.Length; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    NSDate           date  = this.DateWithYear(j + 2002, 1, 1);
                    TKChartDataPoint point = new TKChartDataPoint(date, new NSNumber(this.r.Next(50) + offsets[i]));
                    items.Add(point);
                }

                TKChartSplineAreaSeries series = new TKChartSplineAreaSeries(items.ToArray());
                series.Title = names[i];
                // >> chart-style-fill-cs
                series.Style.Palette = new TKChartPalette();
                TKChartPaletteItem palleteItem = new TKChartPaletteItem();
                palleteItem.Stroke = new TKStroke(strokes[i], 1.5f);
                palleteItem.Fill   = new TKLinearGradientFill(fills[i], new CGPoint(0, 0), new CGPoint(1, 1));
                series.Style.Palette.AddPaletteItem(palleteItem);
                // << chart-style-fill-cs
                chart.AddSeries(series);
                items.Clear();
            }
        }
        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);
        }
Example #5
0
        void snippet2()
        {
            // >> chart-scatter-visual-cs
            var series      = new TKChartScatterSeries(scatterPoints.ToArray());
            var paletteItem = new TKChartPaletteItem();

            paletteItem.Fill     = new TKSolidFill(UIColor.Red);
            series.Style.Palette = new TKChartPalette();
            series.Style.Palette.AddPaletteItem(paletteItem);
            chart.AddSeries(series);
            // << chart-scatter-visual-cs
        }
        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
        }
Example #7
0
        void snippet4()
        {
            // >> chart-style-fill-cs
            var seriesForAnnualRevenue = new TKChartAreaSeries(pointsWithCategoriesAndValues.ToArray());

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

            paletteItem.Stroke = new TKStroke(UIColor.Brown);
            paletteItem.Fill   = new TKSolidFill(UIColor.Red);
            seriesForAnnualRevenue.Style.Palette.AddPaletteItem(paletteItem);
            chart.AddSeries(seriesForAnnualRevenue);
            // << chart-style-fill-cs
        }
Example #8
0
        void snippet17()
        {
            TKChartSeries series = null;

            // >> chart-drawing-pallete-items-cs
            var paletteItem1 = new TKChartPaletteItem(new TKSolidFill(UIColor.Red));
            var paletteItem2 = new TKChartPaletteItem(new TKStroke(UIColor.Blue));
            var plaetteItem3 = new TKChartPaletteItem(new TKStroke(UIColor.Blue), new TKSolidFill(UIColor.Red));

            series.Style.Palette.AddPaletteItem(paletteItem1);
            // << chart-drawing-pallete-items-cs
            Console.WriteLine(paletteItem2);
            Console.WriteLine(plaetteItem3);
        }
        void snippet5()
        {
            // >> chart-bar-visual-cs
            var series = new TKChartBarSeries(pointsWithCategoriesAndValues.ToArray());

            // >> chart-column-visual-cs
            series.Style.Palette = new TKChartPalette();

            var paletteItem = new TKChartPaletteItem();

            paletteItem.Fill   = new TKSolidFill(UIColor.Red);
            paletteItem.Stroke = new TKStroke(UIColor.Black);
            series.Style.Palette.AddPaletteItem(paletteItem);
            chart.AddSeries(series);
            // << chart-column-visual-cs
            // << chart-bar-visual-cs
        }
Example #10
0
            // >> chart-ohlc-visual-cs
            public override TKChartPaletteItem PaletteItemForSeries(TKChart chart, TKChartSeries series, nint index)
            {
                var      dataPoint = series.DataPointAtIndex((uint)index);
                TKStroke stroke    = null;

                if (dataPoint.Close.DoubleValue < dataPoint.Open.DoubleValue)
                {
                    stroke = new TKStroke(UIColor.Red);
                }
                else
                {
                    stroke = new TKStroke(UIColor.Green);
                }
                var paletteItem = new TKChartPaletteItem(stroke);

                return(paletteItem);
            }
Example #11
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

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

            MyAxis axis = new MyAxis(new NSNumber(100), new NSNumber(450));

            chart.YAxis         = axis;
            chart.Legend.Hidden = false;

            string[]  names   = new string[] { "Upper class", "Upper middle class", "Middle class", "Lower middle class" };
            nfloat[]  offsets = new nfloat[] { 350, 250, 150, 100 };
            UIColor[] strokes = new UIColor[] { new UIColor(0.5f, 0.5f, 0.5f, 0.5f),
                                                new UIColor(0.3f, 0.3f, 0.3f, 0.6f),
                                                new UIColor(0.1f, 0.1f, 0.1f, 0.6f),
                                                new UIColor(0.1f, 0.1f, 0.1f, 0.6f) };
            UIColor[][] fills = new UIColor[][] { new UIColor[] { new UIColor(0.78f, 0.81f, 0.86f, 0.5f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) },
                                                  new UIColor[] { new UIColor(0.78f, 0.76f, 0.70f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) },
                                                  new UIColor[] { new UIColor(0.80f, 0.73f, 0.67f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) },
                                                  new UIColor[] { new UIColor(0.70f, 0.58f, 0.58f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) } };
            List <TKChartDataPoint> items = new List <TKChartDataPoint> ();

            for (int i = 0; i < names.Length; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    NSDate           date  = this.DateWithYear(j + 2002, 1, 1);
                    TKChartDataPoint point = new TKChartDataPoint(date, new NSNumber(this.r.Next(50) + offsets[i]));
                    items.Add(point);
                }

                TKChartSplineAreaSeries series = new TKChartSplineAreaSeries(items.ToArray());
                series.Title         = names[i];
                series.Style.Palette = new TKChartPalette();
                TKChartPaletteItem palleteItem = new TKChartPaletteItem();
                palleteItem.Stroke = new TKStroke(strokes[i], 1.5f);
                palleteItem.Fill   = new TKLinearGradientFill(fills[i], new CGPoint(0, 0), new CGPoint(1, 1));
                series.Style.Palette.AddPaletteItem(palleteItem);
                chart.AddSeries(series);
                items.Clear();
            }
        }
Example #12
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

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

            MyAxis axis = new MyAxis (new NSNumber (100), new NSNumber (450));
            chart.YAxis = axis;
            chart.Legend.Hidden = false;

            string[] names = new string[] { "Upper class", "Upper middle class", "Middle class", "Lower middle class" };
            nfloat[] offsets = new nfloat[] { 350, 250, 150, 100 };
            UIColor[] strokes = new UIColor[]{ new UIColor(0.5f, 0.5f, 0.5f, 0.5f),
                new UIColor(0.3f, 0.3f, 0.3f, 0.6f),
                new UIColor(0.1f, 0.1f, 0.1f, 0.6f),
                new UIColor(0.1f, 0.1f, 0.1f, 0.6f)
            };
            UIColor[][] fills = new UIColor[][]{ new UIColor[]{ new UIColor(0.78f, 0.81f, 0.86f, 0.5f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) },
                new UIColor[] { new UIColor(0.78f, 0.76f, 0.70f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) },
                new UIColor[] { new UIColor(0.80f, 0.73f, 0.67f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) },
                new UIColor[] { new UIColor(0.70f, 0.58f, 0.58f, 1.0f), new UIColor(0.5f, 0.5f, 0.5f, 0.5f) }
            };
            List<TKChartDataPoint> items = new List<TKChartDataPoint> ();

            for (int i = 0; i< names.Length; i++) {

                for (int j = 0; j<10; j++) {
                    NSDate date = this.DateWithYear(j + 2001, 1, 1);
                    TKChartDataPoint point = new TKChartDataPoint(date, new NSNumber(this.r.Next(50) + offsets[i]));
                    items.Add (point);
                }

                TKChartSplineAreaSeries series = new TKChartSplineAreaSeries(items.ToArray());
                series.Title = names[i];
                series.Style.Palette = new TKChartPalette ();
                TKChartPaletteItem palleteItem = new TKChartPaletteItem ();
                palleteItem.Stroke = new TKStroke(strokes[i], 1.5f);
                palleteItem.Fill = new TKLinearGradientFill (fills[i], new CGPoint(0, 0), new CGPoint(1, 1));
                series.Style.Palette.AddPaletteItem(palleteItem);
                chart.AddSeries(series);
                items.Clear ();
            }
        }
Example #13
0
            // >> chart-candlestick-visual-cs
            public override TKChartPaletteItem PaletteItemForSeries(TKChart chart, TKChartSeries series, nint index)
            {
                var dataPoint = series.DataPointAtIndex((uint)index);
                var stroke    = new TKStroke(UIColor.Black);
                var fill      = new TKSolidFill();

                if (dataPoint.Close.DoubleValue < dataPoint.Open.DoubleValue)
                {
                    fill.Color = UIColor.Red;
                }
                else
                {
                    fill.Color = UIColor.Green;
                }
                var paletteItem = new TKChartPaletteItem(stroke, fill);

                return(paletteItem);
            }
Example #14
0
            public override TKChartPaletteItem PaletteItemForSeries(TKChart chart, TKChartSeries series, nint index)
            {
                TKChartPaletteItem item = null;

                if (series.Index == 1) {
                    UIColor[] colors = new UIColor[] {
                        new UIColor(0f, 1f, 0f, 0.4f),
                        new UIColor(1f, 0f, 0f, 0.4f),
                        new UIColor(0f, 0f, 1f, 0.4f),
                    };
                    TKLinearGradientFill gradient = new TKLinearGradientFill(colors, new PointF (0.5f, 0.0f), new PointF (0.5f, 1.0f));
                    item = new TKChartPaletteItem (gradient);
                } else {
                    TKImageFill image = new TKImageFill(new UIImage ("pattern1.png"), 5.0f);
                    image.ResizingMode = TKImageFillResizingMode.Tile;
                    TKStroke stroke = new TKStroke (UIColor.Black, 1.0f);
                    stroke.CornerRadius = 5.0f;
                    stroke.DashPattern = new NSNumber[] { new NSNumber(2), new NSNumber(2), new NSNumber(5), new NSNumber(2) };
                    item = new TKChartPaletteItem (new NSObject[] { image, stroke });
                }

                return item;
            }
        void barRange()
        {
            // >> chart-range-bar-cs
            var lowValues = new NSNumber[] {
                new NSNumber(33), new NSNumber(29),
                new NSNumber(55), new NSNumber(21),
                new NSNumber(10), new NSNumber(39),
                new NSNumber(40), new NSNumber(11)
            };

            var highValues = new NSNumber[] {
                new NSNumber(47), new NSNumber(61),
                new NSNumber(64), new NSNumber(40),
                new NSNumber(33), new NSNumber(90),
                new NSNumber(87), new NSNumber(69)
            };


            var lowValues2 = new NSNumber[] {
                new NSNumber(31), new NSNumber(32),
                new NSNumber(57), new NSNumber(18),
                new NSNumber(12), new NSNumber(31),
                new NSNumber(45), new NSNumber(14)
            };

            var highValues2 = new NSNumber[] {
                new NSNumber(43), new NSNumber(66),
                new NSNumber(61), new NSNumber(49),
                new NSNumber(31), new NSNumber(80),
                new NSNumber(82), new NSNumber(78)
            };

            List <TKChartRangeDataPoint> list  = new List <TKChartRangeDataPoint> ();
            List <TKChartRangeDataPoint> list2 = new List <TKChartRangeDataPoint> ();

            for (int i = 0; i < 8; i++)
            {
                list.Add(TKChartRangeDataPoint.RangeBarDataPoint(new NSNumber(i), lowValues[i], highValues[i]));
                list2.Add(TKChartRangeDataPoint.RangeBarDataPoint(new NSNumber(i), lowValues2[i], highValues2[i]));
            }

            TKChartRangeBarSeries series  = new TKChartRangeBarSeries(list.ToArray());
            TKChartRangeBarSeries series2 = new TKChartRangeBarSeries(list2.ToArray());

            chart.AddSeries(series);
            chart.AddSeries(series2);
            // << chart-range-bar-cs

            // >> chart-range-bar-visual-cs
            series.Style.Palette = new TKChartPalette();
            var paletteItem = new TKChartPaletteItem();

            paletteItem.Fill   = new TKSolidFill(UIColor.Red);
            paletteItem.Stroke = new TKStroke(UIColor.Black);
            series.Style.Palette.AddPaletteItem(paletteItem);
            chart.AddSeries(series);
            // << chart-range-bar-visual-cs

            // >> chart-range-bar-gap-cs
            series.GapLength = 0.5f;
            // << chart-range-bar-gap-cs

            // >> chart-range-bar-height-cs
            series.MinBarHeight = 20;
            series.MaxBarHeight = 50;
            // << chart-range-bar-height-cs
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // >> chart-range-col-cluster-cs
            var lowValues = new NSNumber[] {
                new NSNumber(33), new NSNumber(29),
                new NSNumber(55), new NSNumber(21),
                new NSNumber(10), new NSNumber(39),
                new NSNumber(40), new NSNumber(11)
            };

            var highValues = new NSNumber[] {
                new NSNumber(47), new NSNumber(61),
                new NSNumber(64), new NSNumber(40),
                new NSNumber(33), new NSNumber(90),
                new NSNumber(87), new NSNumber(69)
            };

            var lowValues2 = new NSNumber[] {
                new NSNumber(31), new NSNumber(32),
                new NSNumber(57), new NSNumber(18),
                new NSNumber(12), new NSNumber(31),
                new NSNumber(45), new NSNumber(14)
            };

            var highValues2 = new NSNumber[] {
                new NSNumber(43), new NSNumber(66),
                new NSNumber(61), new NSNumber(49),
                new NSNumber(31), new NSNumber(80),
                new NSNumber(82), new NSNumber(78)
            };

            List <TKChartRangeDataPoint> list  = new List <TKChartRangeDataPoint> ();
            List <TKChartRangeDataPoint> list2 = new List <TKChartRangeDataPoint> ();

            for (int i = 0; i < 8; i++)
            {
                list.Add(TKChartRangeDataPoint.RangeColumnDataPoint(new NSNumber(i), lowValues[i], highValues[i]));
                list2.Add(TKChartRangeDataPoint.RangeColumnDataPoint(new NSNumber(i), lowValues2[i], highValues2[i]));
            }

            TKChartRangeColumnSeries series  = new TKChartRangeColumnSeries(list.ToArray());
            TKChartRangeColumnSeries series2 = new TKChartRangeColumnSeries(list2.ToArray());

            chart.AddSeries(series);
            chart.AddSeries(series2);
            // << chart-range-col-cluster-cs

            // >> chart-range-col-visual-cs
            series.Style.Palette = new TKChartPalette();
            var paletteItem = new TKChartPaletteItem();

            paletteItem.Fill   = new TKSolidFill(UIColor.Red);
            paletteItem.Stroke = new TKStroke(UIColor.Black);
            series.Style.Palette.AddPaletteItem(paletteItem);
            // << chart-range-col-visual-cs

            // >> chart-range-col-gap-cs
            series.GapLength = 0.5f;
            // << chart-range-col-gap-cs

            // >> chart-range-col-width-cs
            series.MinColumnWidth = 20;
            series.MaxColumnWidth = 50;
            // << chart-range-col-width-cs
        }